从大型txt文件中删除非UTF-8字符

use*_*046 5 java json utf-8 large-files

我正在研究一个1千兆字节的JSON文本文件,我正在尝试使用Java进行解析.但是,解析器会抛出异常,因为它会遇到生成此异常的字符"ñ":

异常无效的UTF-8起始字节0x96

我试图使用sed和perl删除字符,但似乎他们无法读取字符,因此文件保持不变.我想从整个文件中删除该字符或将其替换为任何其他字符或字符串,以便解析工作.

Den*_*ret 5

您的文件未以UTF-8编码.

您应该找到编码并使用此编码来读取文件InputStreamReader.然后在UTF-8需要时保存它(例如使用OutputStreamWriter).

如果您不知道编码,我建议您使用一些可能的编码进行测试:请参阅Charsets.