1
BufferedReader类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行。
2
可以通过构造函数指定缓冲区大小也可以使用默认大小。对于大多数用途,默认值足够大。
3
由Reader构成的每个读取请求都会导致相应的读取请求由基础字符或字节流构成,建议通过BufferedReader包装Reader的实例类以提高效率如。
一:以下面为例简单读入数据,并写入数据。
准备news1.txt
编写代码读取news1.txt,并把内容写入news2.txt中
package com.LeranIO.Buffered;
import org.junit.Test;
import java.io.*;
import java.nio.charset.StandardCharsets;
public class BufferedCopy {
@Test
public void T1() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("D:\\news1.txt",StandardCharsets.UTF_8));
BufferedWriter bufferedWriter =new BufferedWriter(new FileWriter("D:\\news2.txt",StandardCharsets.UTF_8));
String s;
while ((s=bufferedReader.readLine())!=null){//每次都读一行,直接赋值给s,当没有内容时,会返回null
bufferedWriter.write(s);//写入s
bufferedWriter.newLine();//另起一行
System.out.println(s);
}
bufferedReader.close();
bufferedWriter.close();
System.out.println("成功");
}
}
结果
二:在已有文件中新增内容
在news2.txt中新增内容
package com.LeranIO.Buffered;
import org.junit.Test;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterTest {
@Test
public void T1() throws IOException {
String pathName="D:\\news2.txt";
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(pathName,true));
bufferedWriter.write("新增内容一");
bufferedWriter.newLine();//新加一个空行
bufferedWriter.write("新增内容二");
bufferedWriter.close();//记得要关闭才保存
}
}
运行代码后加入