IO流小结
字节流
输出流 OutputStream -- 写字节,字节数组,字节数组一部分
|-- FileOutputStream 构造方法File,String文件名
|-- BufferedOutputStream 构造方法中,传递任意字节输出流
输入流 InputStream -- 读字节,字节数组,字节数组一部分
|-- FileInputStream 构造方法File,String文件名
|-- BufferedInputStream 构造方法中,传递任意字节输入流
字符流
输出流 Writer -- 写字符,字符数组,字符数组一部分,字符串
|-- OutputStreamWriter 字符转字节桥梁,带编码表名 构造方法中,传递字节输出流
|-- FileWriter 构造方法传递File,String文件名
|-- BufferedWriter 构造方法传递,传递任意字符输出流,特有方法 newLine
输入流 Reader -- 读字符,字符数组
|-- InputStreamReader 字节转字符桥梁,带编码表名 构造方法中,传递字节输入流
|-- FileReader 构造方法传递File,String文件名
|-- BufferedReader 构造方法传递,任意字符输入流,特有方法 readLine() 打印一行
使用技巧
数据源:
如果数据源明确就是文本文件,选择FileReader,InputStreamReader 字符输入流读取文件
需要提高效率吗 ,如果需要提高,选择字符数组缓冲,BufferedReader行读取
如果数据源明确不是文本文件,选择FileInputStream 字节输入流读取文件
需要提高效率吗,如果需要提高,选择字节数组缓冲,BufferedInputStream
如果数据源无法明确是什么,选择字节流读取
数据目的:
如果数据目的明确是文本文件,选择FileWriter,OutputStreamWriter 字符输出流写文件
需要提高效率吗,如果需要,选择字符数组缓冲,BufferedWriter写换行
如果数据目的明确不是文本文件,选择FileOutputStream 字节输出流写文件
需要提高效率吗,如果需要提高,选择字节数组缓冲,BufferedOutputStream
如果数据目的无法明确是什么,选择字节流写入
|
|