InputStreamReader isr = new InputStreamReader(new FileInputStream(f), "UTF-8");
根据规则,它应该返回流中的所有指定字符。但它工作得不好。它正在将特殊字符转换为一些无效的字符串。
输入字符:éÇüéâäàåçêëèïîìäÅÉæ
从上述方法读取后的输出:������������������ ��
最佳答案
这意味着您的流不是 UTF-8 格式。它可能采用 Windows-1252 或 ISO 8859-1 或其他某种编码。
读取器需要使用流编码所用的编码,才能正确读取它。
关于java - 从文件读取后特殊字符未正确填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39411765/