Javaを使用して解析しようとしている1ギガバイトのJSONテキストファイルに取り組んでいます。ただし、この例外を生成する文字 'ñ' に遭遇するため、パーサーは例外をスローします。
例外 無効な UTF-8 開始バイト 0x96
sed と perl を使用して文字を削除しようとしましたが、文字を読み取れないようで、ファイルは変更されていません。解析が機能するように、ファイル全体から文字を削除するか、他の文字または文字列に置き換えたいと思います。
Javaを使用して解析しようとしている1ギガバイトのJSONテキストファイルに取り組んでいます。ただし、この例外を生成する文字 'ñ' に遭遇するため、パーサーは例外をスローします。
例外 無効な UTF-8 開始バイト 0x96
sed と perl を使用して文字を削除しようとしましたが、文字を読み取れないようで、ファイルは変更されていません。解析が機能するように、ファイル全体から文字を削除するか、他の文字または文字列に置き換えたいと思います。
ファイルは UTF-8 でエンコードされていません。
エンコーディングを見つけて、このエンコーディングを使用して、を使用してファイルを読み取る必要がありますInputStreamReader
。そして、必要に応じて UTF-8 で保存します (たとえば an を使用OutputStreamWriter
)。
エンコーディングがわからない場合は、いくつかの可能性のあるエンコーディングでテストすることをお勧めします: Charsetsを参照してください。
はい、UTF-8ではない可能性があります。エンコードが何であるかを確認する方法については、こちらを参照してください。Java:ストリームの正しい文字セットエンコードを判別する方法