0

JavaでBufferedReaderとBufferedWriterを使用してテキスト(CALコード)を解析しましたが、残念ながら、赤くしてoutStream.write(line)で書き込んだ行です。変更されました。スクリーンショットをご覧ください。

http://uploadz.eu/images/4qz8mtkm2d9zx3x5ms3n.png h ** p://uploadz.eu/images/c03hgkrgrmit2ij2mug.png

ご覧のとおり、私は行を変更しないつもりでしたが、いくつかの特殊文字が行を変更しました。

私の知る限り、Bufferedwriter/ReaderはデフォルトでUnicodeで動作するはずです。

4

2 に答える 2

3

まあBufferedWriterBufferedReaderエンコーディングにとらわれません-既存のリーダーとライターをバッファリングしているだけなので、実際のエンコーディングを処理することはありません。

ここFileWriterFileReader、デフォルトのシステム エンコーディング (urgh) を使用します。これを回避するには、通常はInputStream/InputStreamReaderまたはOutputStream/のペア (場合によっては/OutputStreamWriterでラップ) を使用し、エンコーディングを明示的に指定する必要があります。BufferedReaderBufferedWriter

あなたは実際に何から読んでいるのかを言っていません-それはファイルですか?ファイルのエンコーディングを知っていますか?

于 2009-09-14T13:37:31.473 に答える
0

コンテンツをテキスト (文字列) として扱う場合、またはコピーが目的の場合は、エンコーディングを知っているか、コンテンツをバイト配列として扱う必要があります。

于 2009-09-14T22:26:41.357 に答える