比较早以前我处理方式都是自己写程序,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用
读取和写入,代码如下:
//GBK编码格式源码路径
String srcDirPath = "D:\\dev\\workspace\\masdev\\mas\\src";
//转为UTF-8编码格式源码路径
String utf8DirPath = "D:\\UTF8\\src";
//获取所有java文件
Collection 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://my.oschina.net/binny/blog/62959
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import org.apache.commons.io.FileUtils;
public class Test {
public static void main(String[] args) throws IOException {
//GBK编码格式源码路径
String srcDirPath = "D:\\gbkutf\\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"));
}
}
}