参考以下线程:

通过编程确定输入流/文件的正确字符集编码的最佳方法是什么?

我已经try 使用以下方法:

File in =  new File(args[0]);
InputStreamReader r = new InputStreamReader(new FileInputStream(in));
System.out.println(r.getEncoding());

但是在我知道用ISO8859_1编码的文件上,上面的代码生成ASCII,这是不正确的,并且不允许我将文件内容正确地呈现回控制台.

推荐答案

我使用了这个库,类似于用于检测Java编码的jchardet: https://github.com/albfernandez/juniversalchardet

Java相关问答推荐

Java同步小服务器

在数组中使用意想不到的结果

伪类focus-in不适用于PFA中的选项卡

Java inline Double条件和值解装箱崩溃

使用意向过滤器从另一个应用程序启动服务

是否在允许数组元素为空时阻止 idea 为空性警告?

如何让DTO接受空字符串字段,但如果它们不为空,则应用JPA验证?

MimeMessage emlMessage=new MimeMessage(Session,emlInputStream);抛出InvocationTargetException

为什么有两种实现来检索数组类的组件类型?

如何在太阳系模拟器中添加月球?

如何在Jooq中获取临时表列引用?

如何在@CsvSource中传递空格作为值

是否有一个Java Future实现可以在池繁忙时在调用者线程中执行?

寻找Thread.sky()方法的清晰度

深度优先搜索实现:算法只向右搜索

插入中的JOOQ序列,设置为VS值

Java 21中泛型的不兼容更改

每次我需要时创建和关闭数据库连接会有什么效果吗?

在打开搜索结果时,如何让Eclipse打开整个文件?

在Spring Boot中使用咖啡因进行缓存-根据输出控制缓存