目的:是为了开发时可以明确具体使用哪个流对象更为合适: 明确一:数据的源或目的(汇); 源:对应的就是读取,读取对应就是两个体系;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。
|