1.明确源和目的:
源:
字符流:FileReader(纯文本文件)。
字节流:FileInputStream(非纯文本文件)、System.in(键盘录入)。
目的:
字符流:FileWriter(纯文本文件)。
字节流:FileOutputStream(非纯文本文件)、System.out(控制台输出)。
2.明确是否需要加入缓冲区来提高效率:
源:需要提高效率。
字符流:BufferedReader(字符流读取缓冲区)。
字节流:BufferedInputStream(字节流读取缓冲区)。
目的:需要提高效率。
字符流:BufferedWriter(字符流写入缓冲区)。
字节流:BufferedOutputStream(字节流写入缓冲区)。
3.对字节流操作是否需要加入转换流:转换流在转换时,可以指定编码表。
源:需要。
字节流:InputStreamReader(字节流转字符流) 。
目的:需要。
字节流:OutputStreamWriter(字符流转字节流)。
注:下面两种情况下,应加入转换流进行操作。
情况1:源或目的操作需要进行键盘录入(System.in)或控制台输入(System.out)。
源:InputStreamReader isr=new InputStreamReader(System.in)
目的:OutputStreamWriter osr=new OutputStreamWriter(System.out)
情况2:文件读取或写入时,需要指定编码表。
源:InputStreamReader isr=new InputStreamReader(new FileInputStream("指定路径下文件名"),"编码表")
目的:OutputStreamReader osr=new OutputStreamReader(new FileOutputStream("指定路径下文件名"),"编码表") |