//【需求】利用缓冲区完成文本文件的复制。
package demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTestByBuffer {
public static void main(String[] args) throws IOException {
//建立字符流,必须先有流才能缓冲
FileReader fr = new FileReader("buf.txt");
FileWriter fw = new FileWriter("buf_copy.txt");
//建立缓冲区
BufferedReader bufr = new BufferedReader(fr);
BufferedWriter bufw = new BufferedWriter(fw);
// //读写操作(方法一:用read方法,一个一个字符读写)
//
// int ch = 0;
// while((ch=bufr.read())!=-1){//read结束标记为-1
//
// bufw.write(ch);
//
// }//该while循环都是从缓冲区读数据,再将数据写入缓冲区,都是操作内存,速度较快
//读写操作(方法二:既然利用了缓冲区,那么就用其特有方法readLine,直接读取一行数据,再写入一行数据)
String line = null;
while((line = bufr.readLine())!=null){//readLine结束标记为null
bufw.write(line);
bufw.newLine();
bufw.flush();//只要用到缓冲区,【一定记住】刷新
}//这里读取一行操作应用场景之一:判断每行是否有字符串“java”,那么readLine之后,再来个contains即可
//关闭缓冲区(同时对应的流也被关闭)
bufr.close();
bufw.close();
}
}
21-IO流-15-IO流(字符流-缓冲区-复制文本文件)
最新推荐文章于 2018-06-26 10:22:45 发布