<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小魚(yú)的空氣

    記錄我所思

    批量轉(zhuǎn)換文件編碼工具類(lèi)

    以前公司做項(xiàng)目一般用GBK編碼格式,后來(lái)考慮國(guó)際化想采用UTF-8編碼,要重用以前的代碼,JAVA代碼和JSP有中文字符,用UtralEdit或EditPlus是可以一個(gè)個(gè)[另存為]來(lái)轉(zhuǎn),那是笨笨的辦法。俺從不十這笨事,幫寫(xiě)了個(gè)編碼工具類(lèi),寫(xiě)完兩個(gè)以指定編碼讀寫(xiě)文件的方法后,看一看Common FileUtils已有兩個(gè)類(lèi)似的方法,當(dāng)場(chǎng)暈。又重復(fù)發(fā)明輪子了。

    不說(shuō)了,還要干活,貼上代碼以備忘。

    package hy;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;

    public class FileUtils extends org.apache.commons.io.FileUtils{
        
        
    private static final String ENCODE_GBK = "GBK";
        
    private static final String ENCODE_UTF8 = "UTF-8";
        
        
    public static void convertGBK2UTF8(File file){
            convertFileEncode(file, ENCODE_GBK, ENCODE_UTF8);
        }


        
    public static void convertUTF82GBK(File file){
            convertFileEncode(file, ENCODE_UTF8, ENCODE_GBK);
        }

        
        
    public static void convertFileEncode(File file, String fromEncode, String toEncode){
            
    try {
                String str 
    = readFileToString(file, fromEncode);
                writeStringToFile(file, str, toEncode);
            }
     catch (IOException e) {
                System.out.println(
    "Convert failed. File not exsit?");
                e.printStackTrace();
            }

        }

        
        
    public static String readFile(String filePath, String encode){
            String fileContent 
    = "";
            
    try {
                FileInputStream fis 
    = new FileInputStream(filePath);
                InputStreamReader isr 
    = new InputStreamReader(fis, encode);
                BufferedReader br 
    = new BufferedReader(isr);
                StringBuffer sb 
    = new StringBuffer();
                
    for(String line = br.readLine(); line != null; line = br.readLine()){
                    sb.append(line);
                }

                fileContent 
    = sb.toString();
                br.close();
                isr.close();
                fis.close();
            }
     catch (FileNotFoundException e) {
                System.out.println(
    "File not exist:"+filePath);
            }
     catch (IOException e) {
                e.printStackTrace();
            }

            
    return fileContent;
        }

        
        
    public static String saveFile(String fileContent, String encode, String savePath){
            
    try {
                FileOutputStream fos 
    = new FileOutputStream(savePath);
                OutputStreamWriter osw 
    = new OutputStreamWriter(fos, encode);
                BufferedWriter bw 
    = new BufferedWriter(osw);
                
                bw.write(fileContent);
                bw.close();
                osw.close();
                fos.close();
            }
     catch (FileNotFoundException e) {
                System.out.println(
    "File not exist:"+savePath);
            }
     catch (IOException e) {
                e.printStackTrace();
            }

            
    return fileContent;
        }

        
        
    public static synchronized void convertDirectory(File dir) throws IOException {
            
    if (!dir.exists() && !dir.isDirectory()) {
                
    throw new IOException("[" + dir + "] not exsit or not a Directory");
            }

            convert(dir);
        }


        
    public static void convert(File dir){
            
    if (dir.canRead() && dir.canWrite()) {
                
    if (dir.isDirectory()) {//Directory
                    String[] files = dir.list();
                    
    if (files != null{
                        
    for (int i = 0; i < files.length; i++{
                            convert(
    new File(dir, files[i]));//遞歸
                        }

                    }

                }
     else {//File
                    convertGBK2UTF8(dir);
                }

            }

        }



        
        
    public static void main(String[] args) throws IOException {
    //        File f = new File("c:/GenericAction.java");
    //        convertGBK2UTF8(f);
            
            
    long t1 = System.currentTimeMillis();
            File src 
    = new File("C:\\myLucene");
            convertDirectory(src);
            
    long t2 = System.currentTimeMillis();
            System.out.println(
    "轉(zhuǎn)換完成,用時(shí):"+(t2-t1)/1000);
        }


    }

    posted on 2007-04-13 11:42 小魚(yú) 閱讀(1990) 評(píng)論(4)  編輯  收藏

    評(píng)論

    # re: 批量轉(zhuǎn)換文件編碼工具類(lèi)[未登錄](méi) 2008-12-12 12:53 PrinceZX

    害得我好慘,
    中文根本轉(zhuǎn)不了,
    瘋了,
    哎...
    還不如我手工轉(zhuǎn)換!!!  回復(fù)  更多評(píng)論   

    # re: 批量轉(zhuǎn)換文件編碼工具類(lèi) 2008-12-28 14:01 小魚(yú)

    @PrinceZX
    你先看下代碼啦,可以的。  回復(fù)  更多評(píng)論   

    # re: 批量轉(zhuǎn)換文件編碼工具類(lèi) 2009-02-18 19:02 jordan shoes

    中文根本轉(zhuǎn)不了,
    瘋了,   回復(fù)  更多評(píng)論   

    # re: 批量轉(zhuǎn)換文件編碼工具類(lèi) 2009-02-19 10:57

    很好,很強(qiáng)大!  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    我參與的團(tuán)隊(duì)

    隨筆檔案

    文章檔案

    搜索

    最新評(píng)論

    主站蜘蛛池模板: 啊v在线免费观看| 无码国产精品一区二区免费模式| 亚洲综合激情五月色一区| 亚洲乱码一区av春药高潮| 亚洲无砖砖区免费| 亚洲日本香蕉视频观看视频| 亚洲精品国产成人| 亚洲一欧洲中文字幕在线| 亚洲国产高清美女在线观看| 亚洲ts人妖网站| 亚洲JLZZJLZZ少妇| 真人无码作爱免费视频| 无码免费又爽又高潮喷水的视频 | 亚洲精品精华液一区二区| 亚洲乱码中文字幕在线| 精品亚洲成A人在线观看青青| 国产精品亚洲精品爽爽| 一级白嫩美女毛片免费| 在线涩涩免费观看国产精品| 久久aⅴ免费观看| jjizz全部免费看片| 免费人成视频在线| 亚洲AV无码乱码精品国产| 亚洲人成中文字幕在线观看| 亚洲成在人天堂在线| 久久国产乱子精品免费女| 中国在线观看免费的www| 污污网站免费观看| 青青草a免费线观a| 国产成人综合久久精品免费| 久久影视综合亚洲| 亚洲日本精品一区二区| 亚洲乱码一二三四区麻豆| 爱爱帝国亚洲一区二区三区| 国产高清视频免费在线观看| 日本一区二区免费看| 日本一区二区三区免费高清| 少妇亚洲免费精品| 久久精品国产精品亚洲毛片| 亚洲一卡2卡三卡4卡无卡下载| 人妻巨大乳hd免费看|