首页 > 移动平台 > 详细

happy in java之io流简介

时间:2017-05-29 14:31:11      阅读:331      评论:0      收藏:0      [点我收藏+]

 

闲来没事,重温马士兵老师的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流简介

原文:http://www.cnblogs.com/lihaoyang/p/6917929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!