/**
* 获得远程URL文件的编码格式
*/
public static String getReomoteURLFileEncode(URL url) {
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
detector.add(new ParsingDetector(false));
detector.add(JChardetFacade.getInstance());
detector.add(ASCIIDetector.getInstance());
detector.add(UnicodeDetector.getInstance());
java.nio.charset.Charset charset = null;
try {
System.out.println(url);
charset = detector.detectCodepage(url);
} catch (Exception ex) {
ex.printStackTrace();
}
if (charset != null) {
return charset.name();
} else {
return "utf-8";
}
}
/**
* 获得文件流的编码格式
*/
public static String getInputStreamEncode(InputStream is) {
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
detector.add(new ParsingDetector(false));
detector.add(JChardetFacade.getInstance());
detector.add(ASCIIDetector.getInstance());
detector.add(UnicodeDetector.getInstance());
java.nio.charset.Charset charset = null;
try {
charset = detector.detectCodepage(is, 0);
} catch (Exception ex) {
ex.printStackTrace();
}
if (charset != null) {
return charset.name();
} else {
return "utf-8";
}
}
/**
* 获得本地文件的编码格式
*/
public static String getLocalteFileEncode(String filePath) {
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
detector.add(new ParsingDetector(false));
detector.add(JChardetFacade.getInstance());
detector.add(ASCIIDetector.getInstance());
detector.add(UnicodeDetector.getInstance());
java.nio.charset.Charset charset = null;
File file = new File(filePath);
try {
charset = detector.detectCodepage(file.toURI().toURL());
} catch (Exception ex) {
ex.printStackTrace();
}
if (charset != null) {
return charset.name();
} else {
return "utf-8";
}
}
/**
* 获得字符串的编码格式
*/
public static String getStringEncode(String str) {
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
detector.add(new ParsingDetector(false));
detector.add(JChardetFacade.getInstance());
detector.add(ASCIIDetector.getInstance());
detector.add(UnicodeDetector.getInstance());
java.nio.charset.Charset charset = null;
InputStream myIn=new ByteArrayInputStream(str.getBytes());
try {
charset = detector.detectCodepage(myIn,3);
} catch (Exception ex) {
ex.printStackTrace();
}
if (charset != null) {
return charset.name();
} else {
return "utf-8";
}
}
分享到:
相关推荐
java判断文件编码格式 三方工具包 cpdetector_1.0.10.jar
它的类库很小,只有500K左右,利用该类库判定文本文件的代码如下(由于cpdetector的算法使用概率统计,所以结果并不是100%准确的,但是是迄今为止我见过
Java判断文件的编码, 适用于utf-8和gbk码的判断。
java判断文件编码或文本流编码的方法宣贯.pdf
通用的文件字符编码集判断需要借助第三方包...使用Cpdetector jar包检测文件编码需要依赖antlr-2.7.7.jar、chardet-1.0.jar、jargs-1.0.jar三个jar包 本下载资源一站式全包含,并附带亲测有效的片段代码供测试~~
利用chardet,cpdetector包获取文件格式,并判断文件类型是否带BOM
这个文档教你如何,判读不同的文件编码类型,gbk,utf-8等等
j a v a 判 断 编 码 方 式,
java工具jar文件 获取文件的编码格式 例如UTF-8,GBK,UTF-16,GB2312等等
如果很多时候我们没有约定好文件格式,我们就难以读取文件内容,此时,我们就需要一个工具来探测所读文本的编码格式,此工具可以允许用户读取诸如utf-8,gbk,gb2312一类的文件格式。内置了一些常用的探测实现类,...
EncodingDetect.java,java自动获取文件的编码,智能识别文件编码,支持本地file及指定url的编码识别,支持多达40余种编码的识别,包括最常见的UTF-8,GBK,GB2312,BIG5,UNICODE,ISO8859_1,ASCII等,FileUtil....
读取与创建CSV文件,根据第三方jar包自动解析文件编码方式,相关jar包与使用说明
一个判断文件为utf-8的java类,自己用有限状态机实现的,很好用的。
Java判断文件编码
Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...
java 字符集编码转换,时间格式化,数字判断等,java文件
java 解析csv文件例子,csv文件 中文乱码问题
NULL 博文链接:https://zhifeiji512.iteye.com/blog/1221068
判断文件是否为H264,解析H264文件的一些属性