java流
流的分类
- 依据方向分类,分为输入流和输出流。
- 依据读写单位,分为字符流和字节流。
- 依据功能不同,分为节点流,处理流。
所谓的输入与输出
输入输出的参考系是程序,比如说从文件读取,这叫做输入,程序写文件,这叫输出。
节点流
字节流
字符流的单位是一个一个字节字节读取的,每一次读取一个。
字符流
字符流的单位是一个字符字符读取的,每一次读取两个字节。 二者不同的是读取单位不同。
处理流
处理流可以想象是在上述的水管中再套上一层水管。
处理流目前我应用较多的是是缓冲作用。上述中的节点流,不管是字符流还是字节流,他们读取每次读取的的字节都是少数的,这就造成一个问题,没次读取一次,需要访问一次硬盘,写一次又要访问一次硬盘,这是对硬盘的损坏。所以我们要做的就是一次读写更多的字节。我们想到的方式有两种,第一种,用一个字节数组,每次读取更多的。第二种用缓冲流,这样的话每次可以读取更多,写入的也更多,这就减少了对硬盘的访问次数。
转换流
转换流的作用是将字节流转化为字符流,这就产生一个问题,我可以直接用字符流,干吗还特地用转换流来转换字节流。这是个好问题,但是有时候,我们获取的是字节流,这时候我们不得不使用转换流来转换。
转自:http://www.cnblogs.com/-new/p/5920939.html