ファイルまたはフォルダトランスコード:gbkトランスutf-8

8855 ワード

前回のioストリーム遍歴フォルダに基づいてgbk回転utf-8の方法をアップグレードしました.
パスを変換するファイルまたはフォルダに変換すると、そのファイルまたはフォルダのすべてのGBK符号化されたファイルがUTF-8符号化になりますu 8->gbkはコードの中の2つの符号化名を位置を変えるだけでいいです.
public static void main(String[] args) {
	
        File dir= new File("E:\\aaa\\bbb);

        fileList(dir);

    }
    
    //  

    public static void fileList(File file) {

        File rootFile = file;

        File[] files = rootFile.listFiles();

        if (files != null) {

            for (File f : files) {

                if (!f.isDirectory()) {

                    codeConvert(f);

                }

                System.out.println(f.getPath());
				//  
                fileList(f);

            }

        }

    }


// 
    public static void codeConvert(File file) {

        try {

            BufferedReader br = new BufferedReader(new InputStreamReader

                    (new FileInputStream(file), Charset.forName("GBK")));

            StringBuilder sb = new StringBuilder();

            String str;

            while ((str = br.readLine()) != null) {

                sb.append(str);

                sb.append("
"
); } BufferedWriter bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(file), Charset.forName("UTF-8"))); bw.write(sb.toString()); bw.flush(); bw.close(); } catch (Exception e) { e.printStackTrace(); } }