闲来没事,重温马士兵老师的java基础。。。

流  水流的流  流氓的流,,流 英文叫做stream,溪流

流的分类:

流是用来读写数据的。

流就像水流一样,File类封装的是文件的名字,它是内存里头的一个对象,OK,但是真正的文件是在硬盘上的一块空间,在这文件里头,存着各种各样的数据,那么我们想读这数据怎么办呢?是这样来读,是通过一个流的方式来读。

如下图,比方说这是我们文件,咱们要想从程序读数据,大家都知道,对于计算机来说,你读任何的数据都是什么样的形式,是不是都是010101 这些形式,对吧 。

怎么样吧这些文件里边的内容个读出来,你就把这个文件想象成一个小桶。文件就是个桶,你怎么从桶里边取水呢?或者说怎么从文件里边取数据呢,常见的取法是这样的,我们弄一根管道怼到桶上,然后把这根管道,哐唧,一怼,怼到桶上边,这边打开水龙头,就开始出水,这就叫流,什么叫流,这根管道就叫流,水流哗啦哗啦哗啦流出来了,这就叫流,java里头的输入输出,跟这个水流一模一样,当你要从文件取数据的时候,一根管道咣唧怼上去,然后就顺着这根管道,你开始往外读数据。

你要往里头写数据呢?反过来,咣唧一根管道怼上去,从管道这一头开始咵唧咵唧往里头灌水。

除了你可以从文件读写数据呢,你还可以从网络,比如这根管道咵唧从我机器上怼到你机器上了,我说一句话,你那边就收着了。你说一句话我这边就收着了。OK?

有的时候一根管道不够使,比方说这根管道读过来的水,里有杂质,外边再包一层管道, 比方说你读过来的数据,最原始的数据肯定是010101,一个字节一个字节的往外读,当你这样读的时候你觉得这样的方法不合适,没关系。外边再包一层强大一点的管道,这个管道可以吧010101转换成字符串,哐当读出来,这个管道就包在了原始管道的外边, 这就是流式的输入输出,这些管道就是java的流。

流的分类:

根据不同的角度分成不同的类型,io包里头定义了所有的流。

输入流or输出流的划分:都是站在程序打的角度来说的,相对于程序来说的。

字节流or字符流:

字节流:最原始的一个流, 读出来的数据就是010101,只不过是按照字节来读的,一个字节是8位。

字符流:一个字符一个字符往外读,字符是2个字节。Java里边是Unicode字符串一个字符是2个字节。 Utf16  ok

节点流or处理流:

节点流:这根管道直接怼到数据源上的流。

处理流:套在其他管道之上的流。

凡是以Stream结尾的都是字节流,最原始的读取数据的方式,一个字节一个字节的读。

happy in java之io流简介的更多相关文章

  1. IO流 简介 总结 API 案例 MD

    目录 IO 流 简介 关闭流的正确方式 关闭流的封装方法 InputStream 转 String 的方式 转换流 InputStreamReader OutputStreamWriter 测试代码 ...

  2. Java基础-IO流对象之随机访问文件(RandomAccessFile)

    Java基础-IO流对象之随机访问文件(RandomAccessFile) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.RandomAccessFile简介 此类的实例支持对 ...

  3. Java基础-IO流对象之字符类(FileWrite与FileReader)

    Java基础-IO流对象之字符类(FileWrite与FileReader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常见编码简介 1>ASCII 我们知道计算机是 ...

  4. java的IO流

    java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...

  5. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  6. 【Java】IO流简单分辨

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...

  7. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  8. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  9. JAVA中IO流总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...

随机推荐

  1. Hello_Motion_Tracking 任务一:Project Tango采集运动追踪数据

    我们来看一下中的几个基本的例子 (区域描述.深度感知.运动追踪.视频4个) 参考:Google Tango初学者教程 1. hello_motion_tracking package com.proj ...

  2. 在SQL Server 2008中执行透明数据加密

    问题 安全是任何公司的一个主要考量.数据库备份容易被偷并被恢复到另一个SQL Server实例上.当我们浏览SQL Server 2008的新特性时,我们对一个叫做透明数据加密的特性很感兴趣,我们可以 ...

  3. Object对象方法 cheet sheet

    defineProperty create Object.create(prototype [, propertiesObject ]) prototype:没什么可说的,指定对象的原型 proper ...

  4. win10 数字许可证激活被 KMS激活覆盖

    打开cmd(管理员身份),依次执行以下命令: slmgr/upk slmgr/ckms slmgr/rearm 重启设备后联网登录Microsoft账号,转设置-激活-疑难解答,windows会找到与 ...

  5. how to trace the error log

    Executed as user: WTC\Ebw.Admin. Transaction (Process ID 95) was deadlocked on lock resources with a ...

  6. JVM垃圾收集器(2)

    此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.G1 说明: 从上图来看,G1与CMS相比,仅在最后的"筛选回收"部分不同(CMS ...

  7. 数据库访问接口(ODBC、OLE DB、ADO)

    最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了. 我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一 ...

  8. 自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本 (转载)

    自动统计安卓log中Anr,Crash,Singnal出现数量的Python脚本   转自:https://www.cnblogs.com/ailiailan/p/8304989.html 作为测试, ...

  9. “全栈2019”Java第九十八章:局部内部类访问作用域成员详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. JS 获取各个偶数之和!!

    <html>    <head>        <meta charset="utf-8" />        <title>js& ...