Java I/O流类库非常强大,可以通过控制台、文件、内存块、甚至因特网进行读写。
Java I/O流根据不同的特性有不同的分类:
1、按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程序。
2、按照处理数据的单位不同分,字节流和字符流,字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)。
3、按照功能的不同分,分节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流。
另外比如:对象流、缓冲流、压缩流、文件流等等,其实都是节点流和处理流的子分类。我们也可以根据需求创建新的流类型。
其实流的根源来自于四个基本的类:
字节流 |
字符流 |
|
输入流 |
InputStream |
Reader |
输出流 |
OutputStream |
Writer |
下面举例子进行说明(节点流和处理流):
节点流:
处理流: