字节流:
输入流:
输出流:
装饰流:
又被称为过滤流,这种流不能直接使用,主要的作用就是用来装饰节点流(各种可以直接使用流)。
装饰流,本质就是一种装饰者设计模式的体现。对原有对象的功能进一步的装饰增强。
GOF 23中设计模式:
|-- 单例设计模式
|-- 装饰者设计
数据流:
数据流的使用:
我们之前讲解的流,如果要保存数字,只要将数字转换为字符串,也就是说
以字符流的形式保存数据,这样有时候并不是我们需要的,我们有时候就是
需要以字节保存数据,因此就可以使用数据流来包装文件流完成。
早晨内容回顾:
字节流:
字节输入流 InputStream
字节输出流 OutputStream
装饰流:
BufferedInputStream
BufferedOutputStream
数据流:
特殊的装饰流
字符流:
计算机底层使用的二进制数据(字节数据)。
字符流是为了加快流的操作,而设计的专门用来操作字符串的一种流。
注意:字符串存在编码问题,需要保证在读取和写入时,保持一致!!!
字符输入流:
Reader
字符串输出流:
Writer
字符装饰流:
BufferedReader
BufferedWriter
PrintWriter 跟推荐使用这个打印输出流
|-- 字符缓存流完成字符的操作
通过行来读取和写入字符串
|-- 字符串输入缓存流
BufferedReader
|-- 字符串输出缓存流
BufferedWriter
不太推荐大家使用BufferedWriter,因为需要手动添加换行符
推荐使用打印输出流(节点流)
PrintWriter
|-- print()
|-- println()
转换流:
将字节流转换为字符流操作
InputStreamReader
OuputStreamWriter