IO流的分类
IO流的分类
一、IO流的作用
按照流动方向:输入流、输出流(内存中数据的流动)
按照处理数据单位不同:字节流(InputStreeam,OutputStream)、字符流(Reader,Writer)
1>字节流:数据流中最小的数据单元是字节。
2>字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。
按照功能不同:节点流,处理流
1>程序用于直接操作目标设备所对应的类叫节点流。
2>程序通过一个间接流类去调用节点流类,以达到更加灵活方便地读写各种类型的数据,这个间接流类就是处理流。
节点流
缓冲流
(1)对I/O进行缓冲是一种常见的性能优化,缓冲流为I/O流增加了内存缓冲区,增加缓冲区的两个目的:
1>允许Java的I/O一次不只操作一个字符,这样提高䇖整个系统的性能;
2>由于有缓冲区,使得在流上执行 skip、mark 和 reset 方法都成为可能。
(2)缓冲流:它是要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。例如:BufferedReader中的readLine方法,BufferedWriter中的newLine方法