我怀疑您的文件 实际上 没有 被 编码为ISO-8859-1,或者System.out不知道如何打印字符。
我建议检查第一个,检查文件中的相关字节。要检查第二个字符,请检查字符串中的相关字符,并使用进行打印
System.out.println((int) s.getCharAt(index));
在这两种情况下,结果 都应 为244位十进制;0xf4十六进制。
请参阅我有关Unipre调试的文章以获取一般建议(所提供的代码是C#,但很容易转换为Java,原理相同)。
顺便说一句,通常,我会
InputStreamReader使用正确编码的来包装流-比“手动”创建新字符串要容易。我意识到这可能只是演示代码。
编辑:这是一种非常简单的方法来证明控制台是否可以工作:
System.out.println("Here's the character: u00f4");


