gpt4 book ai didi

java - 全包字符集以避免 "java.nio.charset.MalformedInputException: Input length = 1"?

转载 作者:IT老高 更新时间:2023-10-28 13:52:16 24 4
gpt4 key购买 nike

我正在用 Java 创建一个简单的字数统计程序,它可以读取目录中基于文本的文件。

但是,我不断收到错误:

java.nio.charset.MalformedInputException: Input length = 1

从这行代码:

BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));

我知道我可能会得到这个,因为我使用了一个 Charset,它不包含文本文件中的某些字符,其中一些包含其他语言的字符。但我想包括这些字符。

我后来在 JavaDocs 学到了Charset 是可选的,仅用于更有效地读取文件,因此我将代码更改为:

BufferedReader reader = Files.newBufferedReader(file);

但有些文件仍然抛出 MalformedInputException。我不知道为什么。

我想知道是否有一个包罗万象的 Charset 可以让我读取具有多种不同类型字符的文本文件

谢谢。

最佳答案

您可能希望获得支持的编码列表。对于每个文件,依次尝试每种编码,可能从 UTF-8 开始。每次捕获 MalformedInputException 时,尝试下一个编码。

关于java - 全包字符集以避免 "java.nio.charset.MalformedInputException: Input length = 1"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com