原来的项目是gbk编码的,后来项目完工后 二期有个大模块由于跟公司其他项目类似就直接拿了模块过来 由于当时开发人员没注意编码一致问题 加上后来开发人员开发新代码时用的编码没有规范 导致现在的项目很乱 一个项目出现不同编码 汉字乱码;今天花了时间全部给统一搞了下给转换成UTF-8;起先采用的方法是复制文件到ultredit里面然后再粘贴 但是这样可慢;下面就写了程序统一gbk读 utf-8写 然后批量替换。记得替换之前备份下工程以免替换后出现意向不到的情况。下面上代码
备注:这里给的只是处理的java文件,其他格式文件类似 视实际情况而定;这里用到了common-io的包
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import org.apache.commons.io.FileUtils;
public class GbkToUtf8 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//GBK编码格式源码路径
String srcDirPath = "D:\\job\\workspace\\zhqmh\\ccp\\ccp\\upgrade";
//转为UTF-8编码格式源码路径
String utf8DirPath = "D:\\utf8src\\upgrade";
//获取所有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写入数据
try {
FileUtils.writeLines(new File(utf8FilePath), "UTF-8", FileUtils.readLines(javaGbkFile, "GBK"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}