1. 文本文件复制(字符缓冲流,最常用)
适用:.txt / .java / .html 等纯文本文件
import java.io.*;
public class TextCopy {
public static void main(String[] args) throws IOException {
// 字符缓冲流
BufferedReader br = new BufferedReader(new FileReader("source.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("target.txt"));
String line;
// 按行读写
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine(); // 换行
}
bw.close();
br.close();
System.out.println("文本复制完成");
}
}
代码说明
- 用
BufferedReader/BufferedWriter高效读写文本 - 按行操作,代码简洁、速度快
- 只适合纯文本,不支持图片 / 视频
2. 任意文件复制(字节缓冲流,万能复制)
适用:所有文件(文本、图片、视频、压缩包等)
import java.io.*;
public class FileCopy {
public static void main(String[] args) throws IOException {
// 字节缓冲流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("source.jpg"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("target.jpg"));
byte[] buf = new byte[1024];
int len;
// 字节数组循环读写
while ((len = bis.read(buf)) != -1) {
bos.write(buf, 0, len);
}
bos.close();
bis.close();
System.out.println("任意文件复制完成");
}
}
代码说明
- 用
BufferedInputStream/BufferedOutputStream - 字节流不挑剔文件类型,称为万能复制
- 带缓冲区,比普通流效高很多。
