java 判断文件的编码格式,用于文本文件读取

使用google的字符识别工具包

导入依赖

<!--charset 检测-->
<!-- https://mvnrepository.com/artifact/com.googlecode.juniversalchardet/juniversalchardet -->
<dependency>
<groupId>com.googlecode.juniversalchardet</groupId>
<artifactId>juniversalchardet</artifactId>
<version>1.0.3</version>
</dependency>

方法实现

public String codeString(String fileName) throws IOException {
InputStream is = Files.newInputStream(new File(fileName).toPath());
BufferedInputStream reader = new BufferedInputStream(is);
byte[] buff = new byte[1024];
int len = 0;
// 检测文件编码
UniversalDetector detector = new UniversalDetector(null);
while ((len = reader.read(buff)) != -1 && !detector.isDone()) {
detector.handleData(buff, 0, len);
}
detector.dataEnd();
// 获取编码类型
String encoding = detector.getDetectedCharset();
detector.reset();
reader.close();
return encoding;
}
// 传入文件路径
// return 文件字符集字符串
codeString(filePath)
posted @   lambertlt  阅读(585)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示