IO流的操作规律
1、明确源和目的
源:inputerStream,Reader一定是被读的
目的:OutputStream,Writer一定是被写的
2、处理的数据是否是纯文本的数据
是:使用字符流。Reader Writer
否:使用字节流。InputStream OutputStream
3、明确数据所在的设备
源设备:
键盘:Sytem.in
硬盘:(FileXXX) FileReader FileInputStream
内存(数组)ByteArrayInputStream CharArrayReader StringReader
网络(Socket)
目的设备:
显示器(控制台System.out)
硬盘(FileXXX)FileWriter FileOutputStream
内存(数组)ByteArrayOutputStream CharArrayWriter StringWriter
网络(Socket)
4、 明确是否需要额外功能?
1) 是否需要高效?缓冲区Buffered (字符与字节各两个)。
2) 是否需要转换?转换流 InputStreamReader OutputStreamWriter
3) 是否操作基本数据类型? DataInputStream DataOutputStream
4) 是否操作对象(对象序列化)? ObjectInputStream ObjectOutputStream
5) 需要对多个源合并吗? SequenceInputStream
6) 需要保证数据的表现形式到目的地吗? PrintStream 或 PrintWriter