使用字元流 FileReader/FileWriter 搭配 BufferedReader/BufferedWriter 複製文字檔。字元流會依平台預設編碼 (或指定編碼) 進行字元與位元組轉換。
import java.io.*;
public class CopyChars {
public static void main(String[] args) throws IOException {
if (args.length < 2) {
System.out.println("用法: java CopyChars 來源檔 目標檔");
return;
}
File src = new File(args[0]);
File dst = new File(args[1]);
try (BufferedReader br = new BufferedReader(new FileReader(src));
BufferedWriter bw = new BufferedWriter(new FileWriter(dst))) {
int c;
while ((c = br.read()) != -1) bw.write(c);
} catch (IOException e) {
System.err.println("複製失敗:" + e);
}
}
}
補充:
new InputStreamReader(new FileInputStream(src), "UTF-8") 替代 FileReader。Files.copy() 或 Files.readString()/writeString() 簡化。