IO 体系的两种分类
- 以内存为基准,根据数据的走向,可以分为输入流和输出流
- 根据处理的数据类型可以分为字节流和字符流
现在,我们可以看到,IO 体系庞大繁琐,若不使用适当的方法学习,肯定收效甚微,幸运的是,IO 体系符合装饰者模式。
现在我们只要使用装饰者模式的思想,探究字节输出流,就可以举一反三,得知整个java IO 体系。
抽象组件
OutputStream
具体组件
ByteArrayOutputStream
FileOutputStream
ObjectOutputStream
PipedOutputStream
抽象装饰者
FilterOutputStream
具体的装饰者
BufferedOutputStream
DataOutputStream
PrintStrean