流操作的基本规律

 

目的:是为了开发时可以明确具体使用哪个流对象更为合适:  
明确一:数据的源或目的(汇);
源:对应的就是读取,读取对应就是两个体系;InputStream Reader
目的:对应的就是写入;写入对应的两个体系;OutputStream Writer
明确二:操作的数据是否为纯文本。
源:是纯文本文件,Reader
目的:是纯文本文件,Writer。
不是纯文本文件,直接使用字节流就哦了。
两个明确后,就可以确定具体使用哪个体系。
明确三:数据具体所在的设备,因为不同的设备对应不同的对象。
源 设备:
硬盘:File开头的流对象
内存:数组
键盘:System.in
网络:Socket 
目的设备:
硬盘:File开头的流对象
内存:数组 ByteArray CharArray  String
显示器:System.out
网络:Socket
该明确可以确定具体的操作数据的流对象。
明确四:是否在操作数据过程中需要额外功能
1,需要高效吗?BufferedReader BufferedWriter
    2,需要桥梁编码转换吗?InputStreamReader OutputStreamWriter
    3,需要在输出时保证数据的表示形式吗?PrintStream PrintWriter 的print方法。
    4,需要对输入流合并吗?SequenceInputStream。
    5,需要将对象序列化和反序列化吗?ObjectOutputStream ObjectInputStream
    6,需要操作基本类型数据吗?DataInputStream  DataOutputStream。
 

原文地址:https://www.cnblogs.com/QuestionsZhang/p/9686662.html