小用cpdetector

 String result ="";

        try {

   /*------------------------------------------------
   detector是探測器,它把探測任務交給具體的探測實現類的實例完成。
   cpDetector內置了一些常用的探測實現類,這些探測實現類的實例可以通過add方法
   加進來,如ParsingDetector、 JChardetFacade、ASCIIDetector、UnicodeDetector。   
   detector按照“誰最先返回非空的探測結果,就以該結果爲準”的原則返回探測到的
   字符集編碼

 ---------------------------------------------------*/

   CodepageDetectorProxy proxy = CodepageDetectorProxy.getInstance();

 /*------------------------------------------------------
   ParsingDetector可用於檢查HTML、XML等文件或字符流的編碼,構造方法中的參數用於
   指示是否顯示探測過程的詳細信息,爲false不顯示。

 -------------------------------------------------------*/  

proxy.add(new ParsingDetector(false));
           proxy.add(JChardetFacade.getInstance());
           proxy.add(ASCIIDetector.getInstance());
           proxy.add(UnicodeDetector.getInstance());

/*----------------------------------------------
   JChardetFacade封裝了由Mozilla組織提供的JChardet,它可以完成大多數文件的編碼
   測定。所以,一般有了這個探測器就可滿足大多數項目的要求,如果你還不放心,可以
   再多加幾個探測器,比如下面的ASCIIDetector、UnicodeDetector等。

 ---------------------------------------------------------*/ 
           Charset cset = null;
            cset =proxy.detectCodepage(f.toURL());
            if(cset !=null){
               result = cset.name();
            }else{
               System.out.println("查不到對應的編碼格式");
            }
        } catch (Exception e) {
            // TODO: handleexception
           System.out.println("    調用getFileCodeByPlugin 方法 產生異常           ");
            e.printStackTrace();
        }
        return result;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章