欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java批量将gbk的乱码文件转换到utf8,javagbk乱码utf8,package com.

来源: javaer 分享于  点击 42819 次 点评:288

java批量将gbk的乱码文件转换到utf8,javagbk乱码utf8,package com.


package com.iteye.niewj.util;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;/** * 将gbk的代码放到srcDir之下,转码置destDir之下,暂不支持srcDir之下有目录,有需要再添加 * @author niewj * @2012-6-1 */public class UTF8Parser {    /**     * @author niewj     * @since 2012-6-1      */    static File srcDir = new File("D:/prj/java/niewj_oy/eclipse_swt_src/src/swt/");    static File  destDir= new File("D:/prj/java/niewj_oy/eclipse_swt_src/src/swt_cp/");    public static void main(String[] args) {        //1.判断是目录        if(!srcDir.isDirectory()){            return;        }        //2.遍历所有目录        File[] fs = srcDir.listFiles();        //创建目标目录        if(!destDir.exists()){            destDir.mkdirs();        }        try {            new UTF8Parser().parse(fs);        } catch (IOException e) {            e.printStackTrace();        }    }    /**     * 目录就迭代遍历;文件就重编码     * @author niewj     * @since 2012-6-1      */    private void parse(File[] fs) throws IOException {        for(File file:fs){            if(!file.isDirectory()){                File destFile = new File(destDir,file.getName());                parse2UTF_8(file,destFile);            }else{                parse(file.listFiles());            }        }    }    /**     * @author niewj     * @since 2012-6-1      */    private void parse2UTF_8(File file,File destFile) throws IOException {        StringBuffer msg = new StringBuffer();        //读写对象        PrintWriter ps = new PrintWriter(new OutputStreamWriter(new FileOutputStream(destFile,false),"utf8"));        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"gbk"));        //读写动作        String line = br.readLine();        while(line!=null){            msg.append(line).append("\r\n");            line = br.readLine();        }        ps.write(msg.toString());        br.close();        ps.flush();        ps.close();    }}
相关栏目:

用户点评