常用的流
如何选择I/O流
确定是输入还是输出
输入:InputStream,Reader
输出:OutputStream,Writer
明确操作的数据对象是否是纯文本
是:字符流 Reader,Writer
否:字节流 InputStream,OutputStream
明确具体的设备。
文件:
- 读:FileInputStream,, FileReader
- 写:FileOutputStream,FileWriter
数组:
- 字节数组:ByteArrayInputStream, ByteArrayOutputStream
- 字符数组:CharArrayReader, CharArrayWriter
字符串:
- StringReader, StringWriter
Socket流
键盘:用System.in(是一个InputStream对象)读取
打印:用System.out(是一个OutoutStream对象)打印
是否需要转换流
如果需要转换
- 使用InputStreamReader将字节输入流转为字符输入流
- 使用OutputStreamWriter将字节输出流转为字符输出流
是否需要缓冲提高效率
是就加上Buffered:BufferedInputStream, BufferedOuputStream, BufferedReader, BufferedWriter
是否需要格式化输出