最佳答案
我正在用 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
,它允许我读取带有许多不同类型字符 的文本文件?
谢谢。