流的操作规律
- 操作流时应该注意其源和目的,来选择是字节流还是字符流。
- 对于纯文本格式应选择字符流,非纯文本选择字节流。
- 对于不同的设备所用的方法是不一样的。
- 是否需要进行转换操作,或者是提高效率。
情况分类
1. 文件之间复制
BufferedReader bufr = new BufferedReader(new fileReader("a.txt"));
BufferedWriter bufr = new BufferedWriter(new fileWriter("b.txt"));
2. 键盘写入数据到文件中
BufferedReader bufr = new BufferedReader(new InputSteamReader(system.in));
BufferedWriter bufr = new BufferedWriter(new fileWriter("b.txt"));
3. 文件数据在控制台显示
BufferedReader bufr = new BufferedReader(new fileReader("a.txt"));
BufferedWriter bufr = new BufferedWriter(new OutputSteamWriter(system.out));
4.键盘写入数据到控制台显示
BufferedReader bufr = new BufferedReader(new InputSteamReader(system.in));
BufferedWriter bufr = new BufferedWriter(new OutputSteamWriter(system.out));
5.将一个中文字符串以指定编码表写入到一个文件中
InputSteamReader isr = new InputSteamReader(new FileInputSteam("a.txt"),"utf-8");
OutputSteamWriter isr = new OutputSteamWriter(new FileOutputSteam("a.txt"),"utf-8");
注: 当明确了指定编码时,就不应该在使用FileWriter,因为其使用的时默认编码表。
应该使用其父类OutputSteamWriter。其对象应为FileInputSteam。