happy in java之io流简介

Posted 我俩绝配

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了happy in java之io流简介相关的知识,希望对你有一定的参考价值。

 

闲来没事,重温马士兵老师的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流简介的主要内容,如果未能解决你的问题,请参考以下文章

IO简介

Java基础之(IO流)

新手小白学JAVA IO流 File 字节流 字符流

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

Java IO流 简介

Java IO--输入流和输出流简介