【发布时间】:2012-12-14 09:22:30
【问题描述】:
我正在尝试使用 Java 读取文件,并且该文件还包含特殊字符。 我正在尝试将文件的内容写入另一个文件。
读取特殊字符文件的解决方法是什么?
【问题讨论】:
-
特殊字符是什么意思?
-
文件的编码是什么?
-
特殊字符如―和“和文件使用UTF8编码风格
我正在尝试使用 Java 读取文件,并且该文件还包含特殊字符。 我正在尝试将文件的内容写入另一个文件。
读取特殊字符文件的解决方法是什么?
【问题讨论】:
以 UTF-8 编码文件并使用 java 编码感知流操作符:
new InputStreamReader(new FileInputStream(file), "UTF-8")
【讨论】:
您需要找出文件使用的确切编码,然后在
InputStreamReader参数中指定。
尽管如此,通常最好通过将带有 InputStreamReader 的 InputStream 包装到 Reader 或 BufferedReader 中来读取字符数据
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(your file), "UTF-8"));
编辑评论:FileReader 使用 Java 的平台默认编码,这取决于运行它的计算机的系统设置。
很遗憾
FileReader不允许设置编码。相反,您必须使用上述代码来获取文件的期望编码。
【讨论】: