一、简介
基于字节流的讲解,本节主要示范字符流的读取和写入,基础可详见如下链接:
https://blog.csdn.net/qq_44801116/article/details/106347605
二、实例
(1)代码
import java.io.*;
/**
* @author ThinkPad
* @date 2020/5/26 9:24
*/
public class 通过IO字符流实现文件的复制粘贴 {
public static void main(String[] args){
//字符输入和输出流
FileReader fr = null;
FileWriter fw = null;
//缓冲输入和输出流
BufferedReader br = null;
BufferedWriter bw = null;
try{
fr = new FileReader("D://filecopy/oldfile.txt");
//为提高读写速度,使用字符缓冲流
br = new BufferedReader(fr);
fw = new FileWriter("D://newfile.txt");
bw = new BufferedWriter(fw);
String line =br.readLine();
while(line != null){
bw.write(line);
bw.newLine();
line = br.readLine();
}
System.out.println("数据复制完成");
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
finally{
try {
bw.close();
fw.close();
br.close();
fr.close();
}
catch(IOException e){
e.printStackTrace();
}
}
}
}
(2)知识点
a.字符流使用的是FileReader和FileWriter基类;
b.为减少和磁盘的读写次数,提高读写效率,可使用字符缓存流,使用BufferedReader和BufferedWriter;
c.缓冲的工作过程
step1:将数据由磁盘中分批读入到缓存区
step2:将缓冲区中数据输出到目标文件/应用程序中。
(3)运行结果