java bufferedReader、読み取りとは異なる何かを書き込みます
-
07-07-2019 - |
質問
iは、JavaのBufferedReaderとBufferedWriterを使用してテキスト(CALコード)を解析しました。変更されました。スクリーンショットをご覧ください:
http://uploadz.eu/images/4qz8mtkm2d9zx3x5ms3n.png h ** p://uploadz.eu/images/c03hgkrgrmit2ij2mug.png
ご覧のとおり、一部の特殊文字は行を変更しましたが、変更するつもりはありませんでした。
私が知る限り、Bufferedwriter / ReaderはデフォルトでUnicodeで動作するはずです。
解決
まあ BufferedWriter
と BufferedReader
はエンコーディングにとらわれません-既存のリーダーとライターをバッファリングするだけなので、実際のエンコーディングを処理することはありません。
Now FileWriter
および FileReader
は、デフォルトのシステムエンコーディング(urgh)を使用します。これを回避するには、通常、 InputStream
/ InputStreamReader
または OutputStream
/ OutputStreamWriter
のペアを使用する必要があります BufferedReader
/ BufferedWriter
)、エンコードを明示的に指定します。
あなたは実際に何を読んでいるのか言っていません-それはファイルですか?ファイルのエンコードを知っていますか?
他のヒント
コンテンツをテキスト(String)として扱う場合は、エンコードを知っているか、コピーが目的の場合、またはコンテンツをバイト配列として扱う必要があります。