IO流的规律总结:解决的问题,就是开发中具体要使用哪个流对象的问题。
1,明确数据源,数据汇(数据目的)
其实就是在明确要使用的IO体系:字节流 InputStream & OutputStream ,字符流 Reader & Writer
需求中操作的是源:意味着是读,InputStream & Reader
需求中操作的目的:意味着是写,OutputStream & Writer
2,明确操作的数据是否是纯文本数据?
是,选择字符流对象。
否,选择字节流对象。
是并且是源。Reader对象及子类
是并且也是目的,Writer对象及子类
通前两个明确,明确了具体要使用的体系。
接下来应该明确具体的体系中要使用哪个对象。
3,明确要操作的具体设备。每个设备都有对应的流对象。
源设备:
硬盘,能操作File的流对象都是。File开头。
键盘,System.in;
内存,数组。
网络,socket流。
目的设备:
硬盘,能操作File的流对象都是。File开头。
显示器,System.out
内存,数组。
网络。socket流。
到第三步明确就可以找到具体的流对象了。
4,需要额外功能吗?
需要高效吗?缓冲区,Buffered开头。
需要编码转换吗?转换流。