字符缓冲流专门用于纯文本文件读写,基于装饰模式包装基础字符流,自带内置缓冲区,读写效率更高

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 字符缓冲流 实现文本文件复制
 * 适用场景:仅 .txt 等纯文本文件
 */
public class BufferedCharCopy {
    public static void main(String[] args) {
        // 1. 定义源文件、目标文件路径(自行修改)
        String srcFile = "D:/source.txt";
        String destFile = "D:/copy_source.txt";

        // 2. try-with-resources 自动关闭流
        try (
                // 缓冲输入流:包装基础字符输入流
                BufferedReader br = new BufferedReader(new FileReader(srcFile));
                // 缓冲输出流:包装基础字符输出流
                BufferedWriter bw = new BufferedWriter(new FileWriter(destFile))
        ) {
            String line;
            // 循环按行读取,读到末尾返回 null
            while ((line = br.readLine()) != null) {
                bw.write(line);        // 写入一行内容
                bw.newLine();          // 自动换行(跨平台兼容)
            }

            bw.flush(); // 刷新缓冲区,确保数据全部写入文件
            System.out.println("字符缓冲流:文本文件复制完成!");

        } catch (IOException e) {
            // 捕获文件不存在、路径错误、读写异常
            e.printStackTrace();
        }
    }
}

Java IO 字符缓冲流使用装饰器模式,不改变原有基础流结构,仅对功能进行增强,符合面向对象设计思想。

更多推荐