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)
有什么不同见解可以在评论区共同讨论
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战