当前位置: 首页 > news >正文

java获取文件编码格式,然后读取此文件,适用于任何格式的文件。

  1. 导包。
<dependency><groupId>com.googlecode.juniversalchardet</groupId><artifactId>juniversalchardet</artifactId><version>1.0.3</version>
</dependency>
  1. 写方法
public static String detect(String path) throws IOException {UniversalDetector detector = new UniversalDetector(null);try (InputStream is = new FileInputStream(path)) {byte[] buf = new byte[4096];int len;while ((len = is.read(buf)) > 0 && !detector.isDone()) {detector.handleData(buf, 0, len);}}detector.dataEnd();String encoding = detector.getDetectedCharset();detector.reset();return encoding;
}
  1. 调用
String filePath = path;
String fileEncoding = detect(filePath);
  1. 根据读取的编码读取文件
List<String> lines = null;
lines = Files.readAllLines(Paths.get(filePath), Charset.forName(fileEncoding ));

lines 就是所有读取内容。

http://www.dtcms.com/a/315114.html

相关文章:

  • 面试题:怎么理解3 次握手与 4 次挥手:TCP 连接的建立与终止
  • 【Unity3D】Shader圆形弧度裁剪
  • 思途Spring学习 0804
  • Unity 实现手机端和电脑项目在局域网内通信
  • 【推荐100个unity插件】Unity 的 Hot Reload 热重载实现,加快unity程序编译速度——FastScriptReload插件
  • MySQL InnoDB 表数据结构存储方式详解
  • pathspec ‘with_def_layout‘ did not match any file(s) known to git`
  • Vue 详情header组件
  • Go语言Context
  • ISO(感光度)的工作原理
  • 接口权限(@SaCheckPermission)
  • ebaz4205矿板以太网连接不稳定问题解决方案
  • SQL基础语法(四个分类、库和表的增删改)
  • 【笔记】ROS1|6 中间人攻击移动过程【旧文转载】
  • 私有化部署即时通讯,企业专属通讯系统BeeWorks
  • 计算机网络:网络号和网络位是不是同一个意思
  • 4.5 点云表达方式——图
  • 纯前端使用ExcelJS插件导出Excel
  • 并发编程常用工具类(上):CountDownLatch 与 Semaphore 的协作应用
  • C++信息学奥赛一本通-第一部分-基础一-第一章
  • 高并发抢单系统核心实现详解:Redisson分布式锁实战
  • Swin-Transformer从浅入深详解
  • ubuntu 20.04 C和C++的标准头文件都放在哪个目录?
  • 安卓逆向(基础①-Google Pixel-Root)
  • <PhotoShop><JavaScript><脚本>基于JavaScript,利用脚本实现PS软件批量替换图片,并转换为智能对象?
  • 【拓扑序 时间倒流法】P7077 [CSP-S2020] 函数调用|省选-
  • 嵌入式开发入门——电子元器件~电容
  • RLCraft开服踩坑记录
  • 防火墙web页面练习
  • 使用AWS for PHP SDK实现Minio文件上传