java自动识别用户上传的文本文件编码(未测试)
来源:互联网 发布:电动汽车推荐 知乎 编辑:程序博客网 时间:2024/05/21 18:00
经常碰到用户上传的部分数据文本文件乱码问题,又不能限制用户的上传的文件编码格式(这样对客户的要求可能比较高), 只好自己想办法. 找了一部分java获取文件编码的.
要么就是识别错误. 要么就是只有一小段的代码,也不说具体引用了什么...我就在这里分享一下吧. 工具类就一个方法. main测试方法我就不写了.
貌似还不能上传附件...就弄到我的资源里去吧.
引用了.这两个jar类.
chardet.jar
cpdetector_1.0.10.jar
package com.dxx.buscredit.common.util; import info.monitorenter.cpdetector.io.ASCIIDetector; import info.monitorenter.cpdetector.io.CodepageDetectorProxy; import info.monitorenter.cpdetector.io.JChardetFacade; import info.monitorenter.cpdetector.io.ParsingDetector; import info.monitorenter.cpdetector.io.UnicodeDetector; import java.io.File; import java.nio.charset.Charset; public class FileCharsetDetector { /** * 利用第三方开源包cpdetector获取文件编码格式. * @param filePath * @return */ public static String getFileEncode(File file) { /** * <pre> * 1、cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法加进来, * 如:ParsingDetector、 JChardetFacade、ASCIIDetector、UnicodeDetector. * 2、detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则. * 3、cpDetector是基于统计学原理的,不保证完全正确. * </pre> */ CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance(); detector.add(new ParsingDetector(false)); detector.add(UnicodeDetector.getInstance()); detector.add(JChardetFacade.getInstance());//内部引用了 chardet.jar的类 detector.add(ASCIIDetector.getInstance()); Charset charset = null; try { charset = detector.detectCodepage(file.toURI().toURL()); } catch (Exception e) { e.printStackTrace(); } //默认为GBK String charsetName = "GBK"; if (charset != null) { if (charset.name().equals("US-ASCII")) { charsetName = "ISO_8859_1"; } else{ charsetName = charset.name(); } } return charsetName; } }
0 0
- java自动识别用户上传的文本文件编码(未测试)
- java自动识别用户上传的文本文件编码
- 文本文件的字符集自动识别
- Java字符集编码的自动识别 jchardet
- Java 自动识别文件编码
- java获取文本文件的编码
- Java二维码的解码和编码(未测试)
- Java上传图片后的缩放(未测试)
- BytesEncodingDetect.java 自动识别文件编码
- java 检测文本、文件编码(未测试)
- Java实现拖拽上传(未测试)
- Java开发之文件上传 (未测试)
- 字符集编码的自动识别jchardet
- 字符集编码的自动识别jchardet
- tinyxml自动识别编码的方法
- WebUploader的java后端上传代码(支持分片上传)(未测试)
- WebUploader的java后端上传代码(支持分片上传)(未测试)
- java实现获取文本文件的编码格式
- Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
- 网络请求中的cookie与set-Cookie的交互模式和作用
- spark sql简单示例java
- android xlistView 魅族手机Hold问题
- 块级作用域变量
- java自动识别用户上传的文本文件编码(未测试)
- android开发MadiaPlayer 发生IllegalStateException
- HIVE和HBASE区别
- linux学习、命令及总结
- 安装Sikuli时出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 9-10: ordinal not i
- 数据结构实验之数组二:稀疏矩阵
- iOS打包生成pem文件
- 今年暑假不AC hd 2037
- Tessellation Shader(细分曲面着色器)