public class BufferWriteTest {
/**
* @param args
* @throws IOException
*//*
* 通过缓冲区来完成文本文件的复制。
*/
public static void main(String[] args) throws IOException {
//输入,读
FileReader fr = new FileReader("E:\\Test.txt");
//输入缓冲区
BufferedReader br = new BufferedReader(fr);
//输出,写
FileWriter fw = new FileWriter("D:\\buffer.txt");
//输出缓冲区
BufferedWriter bw = new BufferedWriter(fw);
//读数据、
/* while(br.read()!=-1)
{
bw.write(br.read());
bw.flush();
}*/
//这样一个字一个字的写效率太慢,所以我们用读一行写一行的
while(br.readLine()!=null)
{
bw.write(br.readLine());
bw.newLine();
bw.flush();
//我没用变量,直接这样读写,但是写入的只有源文件的一部分。
String line = null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
//但是如果我用了变量,就可以写入源文件的全部,刚开始我以为是缓冲区容量的问题,
后来发现不是。谁能告诉我为什么?
}
br.close();
bw.close();
}
}
|