把GBK编码的源代码转换成Utf-8编码的小程序
2013-02-28 09:05
369 查看
很多时候从网上下载到的代码是GBK编码,也就是eclipse默认的编码。而在项目中,有时会规定用utf-8的编码。
如果一个一个文件转换是很麻烦的,特别是文件数量多了以后。自己写了一个转换的小程序,贴出来,共享一下,希望能有用:
如果一个一个文件转换是很麻烦的,特别是文件数量多了以后。自己写了一个转换的小程序,贴出来,共享一下,希望能有用:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /* * 提供过滤,只转换JAVA文件 * */ class JavaFileFilter implements FileFilter{ @Override public boolean accept(File pathname) { if(pathname.isDirectory()||pathname.getName().endsWith(".java")) return true; return false; } } public class GBKtoUTF8 { public void visit(File source,File dest){ if(source.isDirectory()){//如果是目录,则在dest目录下创建相同的目录 new File(dest.getAbsolutePath()+File.separator+source.getName()).mkdirs(); File[] files=source.listFiles(new JavaFileFilter()); for (File file : files) { visit(file,new File(dest.getAbsolutePath()+File.separator+source.getName())); } }else{ //如果是文件,则进行转换 transform(source,dest); } } public void transform(File source,File dest){ try { BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream(source),"gbk")); BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(dest.getAbsolutePath()+File.separator+source.getName())),"utf-8")); String line=null; while((line=reader.readLine())!=null){ writer.write(line+"\n"); } reader.close(); writer.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } public static void main(String[] args) { new GBKtoUTF8().visit(new File("E:/ProjectName"),new File("E:/transfor")); } }
相关文章推荐
- 下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换
- 字符串编码格式相互转换Unicode --UTF-8 -- GBK
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- Eclipse:批量将Java源代码文件的编码从GBK转为UTF-8
- UTF-8和GBK等中文字符编码格式介绍及相互转换
- 批量将Java源代码文件的编码从GBK转为UTF-8
- PHP中转换编码问题 GBK/UTF-8等
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- Java实现的UTF-8,GBK,Unicode编码相互转换的代码
- GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换
- 【编码与乱码】(05)---GBK与UTF-8之间的转换
- Eclipse:批量将Java源代码文件的编码从GBK转为UTF-8
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- oracle编码格式从utf-8转换为GBK
- Python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。
- 如何解决GBK的编码的文件中的中文转换成为UTF-8编码的文件而且不乱码
- 关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换