上次我们讲到了字符流的读取,FileReader和FileWriter,那是否有方法帮助我们更好地进行快速读写文件内容呢?BufferedReader和BufferedWriter很好地实现了对文件的整行读取和写入
字符流的过滤器:BufferedReader—–>readLine一次读一行
BufferedWriter—–>一次写一行
接下来我们通过一段代码进行测试:
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\log_network.txt"),"gbk"));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\BufferedWriter.txt"),"utf-8"));
String line;
while((line=br.readLine())!=null) {
System.out.println(line);//一次读一行,并不能识别换行
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
运行结果:
我有一只小毛驴
我从来也不骑
有一天
我
心血来潮
为了很方便地进行文件写入时的换行,我们也可以用PrintWriter与BufferedReader进行搭配,实现文件读取写入。
//对文件读写操作
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\log_network.txt"),"gbk"));
PrintWriter pw=new PrintWriter(new File("D:\\PrintWriter.txt"));
String line;
while((line=br.readLine())!=null) {
System.out.println(line);//一次读一行,并不能识别换行
pw.println(line);//简单实现换行
pw.flush();
}
pw.close();
br.close();
}
最终能得到相同的运行结果。