首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

java施用jchardet检测文本文件(字节流)的编码方式

2012-07-26 
java使用jchardet检测文本文件(字节流)的编码方式有时需要InputStreamReader(InputStream in, Charset cs)

java使用jchardet检测文本文件(字节流)的编码方式

有时需要InputStreamReader(InputStream in, Charset cs)这个构造来处理字符流。然而Charset不一定知道。这个时候就需要检测编码方式了。jchardet是firefox使用的字节流编码检测算法的java开源实现,协议为MPL(Mozilla Public License),对商业友好。下载源代码后发现示例并不怎么好使用,于是封装了一下。下面就封装类和使用Demo。


CharsetDetector 这个封装了内部实现,用户直接new这个类就可以检测字节流编码

?

import java.io.IOException;import java.net.URL;public class Demo{    public static void main(String[] args)throws IOException    {        CharsetDetector charDect = new CharsetDetector();        URL url = new URL("http://www.qq.com/");        String[] probableSet = charDect.detectChineseCharset(url.openStream());        for (String charset : probableSet)        {            System.out.println(charset);        }    }}

?

附件为封装后的jar包

如果编码选择是 Unicode ,则检测的结果是 windows-1252

热点排行