批量将Java源代码文件的编码从GBK转为UTF-8

方法一:(程序法)
    问题场景:由于老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息都出现乱码。将文本文件的编码格式从GBK转UTF-8的方式有很多,
比较早以前我处理方式都是自己写程序,从文本文件中用GBK编码读取数据,转为String类型,然后通过UTF-8编码重新写入文本文件实现转码,现在经常使用 Apache Common 组件,用commons-io.jar实现文件的
读取和写入,代码如下:

//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://my.oschina.net/binny/blog/62959


方法二:(Eclipse文件转码插件法)
下载地址,百度网盘:http://pan.baidu.com/share/link?shareid=23599&uk=3573694317

 

step1. 将插件com.lifesting.tool.encoding_1.0.0.jar拷贝到eclipse/plugins目录下,重启Eclipse。

step2. 选择某个项目,右键选择properties,然后点击Convert Setting进行转码规则设置,如下图:


(图2 项目转码规则设置)
这个表格有四列,分别是文件后缀,文件目前编码,转换后的编码,是否转换文件内容,如果转换文件内容,那么对应的是前面所说的第二种情况,不转换文件内容对应的是第一种情况。比如图2的转码规则就是对项目的jsp文件,不管原来是什么编码,统一转为UTF-8编码,并且同时转换文件内容。可以点击右边的Add /Remove按钮来增加/删除规则。最后点击Apply来保存设置。

step3. 转码
在设置了转码规的项目上,右键选择项目,某几个文件夹或某几个文件(当然一个也可以),然后点击Lifesting Tools->Set Encoding。插件将完成转码工作。如果我们选择的是项目,将转换整个项目;如果选择的是文件夹,转换文件夹下所有满足规则的文件;如果选择的是文件,只转换文件。


(图3 转码)
除了这方式外,我们还可以利用Eclipse的文件搜索功能,将搜到的文件进行转码,如下图:


(图4 在search view里转码)
如上图所示,我们搜到了整个workspace的jsp文件,然后点击绿色E小图标,插件将会把所有满足结果的文件转码,每个文件的转换规则依赖它所属项目的转码规则设置。

 

注:如果批量转码的话,可能需要点时间,部分转码尚存在问题。。。。。。。


参考资料:http://blog.youkuaiyun.com/hdfyq/article/details/5738759


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值