java 使用CharsetDetector检测文件的编码方式

来源:互联网 发布:网络编程教程 编辑:程序博客网 时间:2024/06/08 06:45

DEMO1:从服务器上读取文件的内容   判断文件编码

URL url = new URL(getUrl);

  HttpURLConnection httpConnection =  (HttpURLConnection) url.openConnection();
             InputStream in = httpConnection.getInputStream(); 
             InputStream tempStream = url.openStream();
      CharsetDetector charDect = new CharsetDetector();
    String[] unicodeSet = charDect.detectChineseCharset(tempStream);

    BufferedReader bufferedReader = null;
    if(unicodeSet.length>0)
    bufferedReader = new BufferedReader(new InputStreamReader(in,unicodeSet[0]));
    else
    bufferedReader = new BufferedReader(new InputStreamReader(in,"gb2312"));
             StringBuffer temp = new StringBuffer();
             String line = bufferedReader.readLine();
             while (line != null) {
             temp.append(line).append("\r\n");
             line = bufferedReader.readLine();
             }
             bufferedReader.close();

            lrc= temp.toString();

DEMO2:判断本地文件编码

public static void main(String[] args){
CharsetDetector charDect = new CharsetDetector();
File f = new File("F:/demo/a.txt");
try {
String[] probableSet = charDect.detectChineseCharset(f.toURL().openStream());
for (String charset : probableSet){
           System.out.println(charset);
       }
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

封装后的jar包下载地址 http://codeinplatform.googlecode.com/files/CharsetDetector.jar 

原创粉丝点击