字符缓冲流 字节缓冲流

1.字符缓冲流

点击查看代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TextCopy {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new FileReader("src/a.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("src/b.txt"));
        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
        }
        bw.flush();
        bw.close();
        br.close();
    }
}
字符缓冲流由 BufferedReader、BufferedWriter 实现,仅适用于 txt 等纯文本文件复制,是文本处理最常用 IO 流。底层自带缓冲区,支持按行读取readLine(),简化文本分行读写逻辑,读写效率远高于基础字符流。读取源文件每行内容,写入目标文件并换行,操作完成后刷新缓冲区、关闭流释放资源。该流无法处理图片、视频等二进制文件,通用性弱于字节缓冲流,仅面向文本场景使用。

2.字节缓冲流
`import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class AnyFileCopy {
public static void main(String[] args) throws IOException {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("test.jpg"));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("copy.jpg"));
byte[] buf=new byte[1024];
int len;
while((len=bis.read(buf))!=-1){
bos.write(buf,0,len);
}
bos.flush();
bos.close();
bis.close();
}
}`
字符缓冲流由 BufferedReader、BufferedWriter 实现,仅适用于 txt 等纯文本文件复制,是文本处理最常用 IO 流。底层自带缓冲区,支持按行读取readLine(),简化文本分行读写逻辑,读写效率远高于基础字符流。读取源文件每行内容,写入目标文件并换行,操作完成后刷新缓冲区、关闭流释放资源。该流无法处理图片、视频等二进制文件,通用性弱于字节缓冲流,仅面向文本场景使用。

posted @ 2026-06-18 15:28  pigeon1237  阅读(1)  评论(0)    收藏  举报