Main.java import java.io.File; public class Main { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { String path = "F://base"; // 取得目錄下所有的JAVA文件 FileGet fileGet = new FileGet(); File[] fileList = fileGet.Start(path); // 將所有的JAVA文件的編碼改為"UTF-8" for (File file : fileList) { FileIO fileIO = new FileIO(); fileIO.setFileIn(file.getPath()); fileIO.setFileInEn("GB2312"); fileIO.setFileOut(file.getPath()); fileIO.setFileOutEn("UTF-8"); fileIO.Start(); } } } FileGet.java import java.io.File; public class FileGet { /** * 讀文件 * @param path 指定文件夾路徑 * @return 返回指定文件夾下的文件 */ public File[] Start(String path) { File file = new File(path); File[] fileList = file.listFiles(new JavaFileFilter()); return fileList; } } FileIO.java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Writer; public class FileIO { //讀取的文件 private String fileIn; //讀取時文件用的編碼 private String fileInEn; //出力的文件 private String fileOut; //出力時文件用的編碼 private String fileOutEn; public void Start() { String str = this.read(fileIn,fileInEn); this.write(fileOut, fileOutEn, str); } /** * 讀文件 * @param fileName * @param encoding */ private String read(String fileName, String encoding) { try { BufferedReader in = new BufferedReader(new InputStreamReader( new FileInputStream(fileName), encoding)); String string = ""; String str = ""; while ((str = in.readLine()) != null) { string += str + "/n"; } in.close(); System.out.println(string); return string; } catch (Exception ex) { ex.printStackTrace(); } return ""; } /** * 寫文件 * @param fileName * @param encoding * @param str */ private void write(String fileName, String encoding, String str) { try { Writer out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(fileName), encoding)); out.write(str); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } public String getFileIn() { return fileIn; } public void setFileIn(String fileIn) { this.fileIn = fileIn; } public String getFileInEn() { return fileInEn; } public void setFileInEn(String fileInEn) { this.fileInEn = fileInEn; } public String getFileOut() { return fileOut; } public void setFileOut(String fileOut) { this.fileOut = fileOut; } public String getFileOutEn() { return fileOutEn; } public void setFileOutEn(String fileOutEn) { this.fileOutEn = fileOutEn; } } JavaFileFilter.java import java.io.File; import java.io.FileFilter; public class JavaFileFilter implements FileFilter { @Override public boolean accept(File pathname) { String filename = pathname.getName().toLowerCase(); if (filename.contains(".java")) { return true; } else { return false; } } }