BufferedReader:从字符输入流中读取文本,缓冲各个字节,从而实现字符、数组和行的高效读取。
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
private static void charWriter() {
File file = new File("F:/test.txt");
try {
Writer writer = new FileWriter(file, true);
BufferedWriter bw = new BufferedWriter(writer);
bw.write("我爱Java SE");
bw.flush();
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// charWriter
private static void charReader() {
File file = new File("F:/test.txt");
try {
Reader reader = new FileReader(file);
// 为字符流提供缓存,达到高效读取的目的
BufferedReader br = new BufferedReader(reader);
char[] buf = new char[1024];
int len = -1;
while ((len = br.read(buf)) != -1) {
System.out.println(new String(buf, 0, len));
}
br.close();// 不用关闭reader,是因为关闭br时内部已经帮我们关闭了reader
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// charReader
把一个txt文档里的文字复制到另一个文档中
public class demo3 {
public static void main(String[] args) throws IOException, InterruptedException {
//读取路径
BufferedReader br=new BufferedReader(new FileReader(new File("D:\\笔记\\Dasice\\day21\\code\\2.txt")));
//录入路径
BufferedWriter bW=new BufferedWriter(new FileWriter(new File("D:\\aaa\\7.txt")));
int len;
//定义每次缓冲的大小
char[] ch=new char[4*1024];
//循环读取文件,当读取到最后没有数据返回-1
while((len=br.read())!=-1) {
//录入
bW.write(ch,0,len);
}
//释放流
br.close();
bW.close();
}
}