批量將Java源代碼文件的編碼從GBK轉爲UTF-8

轉載自:http://my.oschina.net/binny/blog/62959

最近在做一個項目,需要從以前的另外一個項目遷移大量源代碼過來,但是由於另一個項目採用GBK編碼格式,而新項目採用的UTF-8編碼格式,如果直接把Java源代碼複製到Eclipse中所有的中文信息都出現亂碼。

將文本文件的編碼格式從GBK轉UTF-8的方式有很多,比較早以前我處理方式都是自己寫程序,從文本文件中用GBK編碼讀取數據,轉爲String類型,然後通過UTF-8編碼重新寫入文本文件實現轉碼,現在經常使用 Apache Common 組件,用commons-io.jar實現文件的讀取和寫入,代碼如下:

(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"));        
}

很簡單的幾行代碼,就可以批量將GBK格式的java文件轉爲UTF-8格式。 基本上所有文本文件的編碼轉換都可以採用這種方式。

工程文件見:http://www.oschina.net/code/snippet_97118_11332


發佈了17 篇原創文章 · 獲贊 63 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章