网上看了好多I/O流的分类,总觉得有点乱,现在自己来总结下。
流的分类
1.输入和输出流(按照流的流向来分)
输入流:只能从中读取数据,而不能向其写入数据
输出流:只能从中写入数据,而不能向其输出数据
2.字节流和字符流
字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同——字节流操作的数据单元是8字节,字符流操作的数据单元是16字节。
字节流操作的基类是InputStream和OutputStream,而字符流则主要由Reader和Writer作为基类。
3.节点流和处理流(按照流的角色来分)
- 节点流:可以从一个I/O设备(如磁盘,网络)读/写数据的流,节点流也被称为低级流。
- 处理流:用于对一个已经存在的流进行连接或者封装,通过封装后的流来实现数据的读/写功能,处理刘也被称为高级流。
优点:只要使用相同的处理流,程序就可以采用完全相同的输入输出代码来访问不同的数据源,随着处理刘访问包装节点流的变化,实际上访问的数据源也发生了变化。