java基础-IO流之通过字符流实现文件的复制粘贴

一、简介
基于字节流的讲解,本节主要示范字符流的读取和写入,基础可详见如下链接:
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)运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44801116/article/details/106361160