我正在尝试使用 Java 读取文件,并且该文件也包含特殊字符。我正在尝试将文件的内容写入另一个文件。
读取特殊字符文件的解决方案是什么?
以 UTF-8 编码文件并使用 java 编码感知流运算符:
new InputStreamReader(new FileInputStream(file), "UTF-8")
您需要找出文件使用的确切编码,然后在
InputStreamReader
参数中指定。
尽管如此,通常最好通过将 InputStream 与 InputStreamReader 包装到 Reader 或 BufferedReader 中来读取字符数据
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(your file), "UTF-8"));
编辑评论:
FileReader
使用 Java 的平台默认编码,这取决于运行它的计算机的系统设置。
不幸
FileReader
的是不允许设置编码。相反,您必须使用上述代码来获取文件的期望编码。