最近在作一個項目,須要從之前的另一個項目遷移大量源代碼過來,可是因爲另外一個項目採用GBK編碼格式,而新項目採用的UTF-8編碼格式,若是直接把Java源代碼複製到Eclipse中全部的中文信息都出現亂碼。java
將文本文件的編碼格式從GBK轉UTF-8的方式有不少,比較早之前我處理方式都是本身寫程序,從文本文件中用GBK編碼讀取數據,轉爲String類型,而後經過UTF-8編碼從新寫入文本文件實現轉碼,如今常常使用 Apache Common 組件,用commons-io.jar實現文件的讀取和寫入,代碼以下:apache
(commons-io 下載見:http://commons.apache.org/io/download_io.cgi)編碼
//GBK編碼格式源碼路徑
String srcDirPath = "D:\\dev\\workspace\\masdev\\mas\\src";
//轉爲UTF-8編碼格式源碼路徑
String utf8DirPath = "D:\\UTF8\\src";
//獲取全部java文件
Collection<File> javaGbkFileCol = FileUtils.listFiles(new File(srcDirPath), new String[]{"java"}, true);
for (File javaGbkFile : javaGbkFileCol) {
//UTF8格式文件路徑
String utf8FilePath = utf8DirPath+javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
//使用GBK讀取數據,而後用UTF-8寫入數據
FileUtils.writeLines(new File(utf8FilePath), "UTF-8", FileUtils.readLines(javaGbkFile, "GBK"));
}spa
很簡單的幾行代碼,就能夠批量將GBK格式的java文件轉爲UTF-8格式。 基本上全部文本文件的編碼轉換均可以採用這種方式。blog
轉了好幾載...(親測可用2013/07/16)ip