在选择一个流对象的时候需要注意有以下的四个明确。
①明确源和目的
源: 若为字节 选择 InputStream 若为字符 选择 Reader
目的: 若为字节 选择 OutputStream 若为字符 选择 Writer
②明确数据是否是纯文本数据
源: 是纯文本 :Reader
不是纯文本: InputStream
目的:是纯文本:Writer
不是纯文本:OutputStream
到这里就可以明确需求中具体要使用哪个体系了。
③明确具体的设备
源设备:硬盘 :File
键盘:System.in
内存:数组
网络:Socket流
目的设备:硬盘:FIle
控制台:System.out
内存:数组
网络:Socket流
④明确是否需要其他额外的功能
是否需要高效(缓冲区):是 加上Buffered
是否需要转换流
什么时候需要转换流:
1.源或者目的对应的设备是字节流,但操作的却是文本数据,可以使用转换作为桥梁。
2.一旦操作涉及到具体的指定编码表的时候必须使用转换流。
|
|