装饰器模式: 流的API是按照装饰器模式设计的
字节流, 每次处理一个字符
InputStream 最基本的输入流操作模型, 是抽象类(read()是没有实现的) |-- FileInputStream 实现了在文件上读取的方法 read(), 节点流 |-- ByteArrayInputStream 实现了在数组里读取的方法 read() |-- FilterInputStream 过滤流,包装在一个基本流外部,提供功能扩展 | |-- DataInputStream 为基本流扩展了基本数据类型读取 | | readInt() readDouble()...方法的底层是read()
| |-- BufferedInputStream 为基本流提供缓冲处理
| |-- CipherInputStream 解密输入流, 知道就行
| |-- ZipInputStream 解压输入流, 知道就行
|-- ObjectInputStream 对象输入流, 也是过滤器
OutputStream 最基本的输出流操作模型,是抽象类(write()是没有实现的) |-- FileOutputStream 实现了在文件上写出的方法 write(), 节点流 |-- ByteArrayOutputStream 在变长数组上实现了write() 方法 |-- FilterOutputStream
| |-- DataOutputStream 基本类型输出
| |
| |-- BufferedOutputStream 缓冲输出
| |-- CipherOutputStream 加密输出
| |-- ZipOutputStream 压缩输出
|-- ObjectOutputStream 对象输出流
…… …… 余下全文