最近在作一个项目,须要从之前的另一个项目迁移大量源代码过来,可是因为另外一个项目采用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