ファイルから読み込まれたユニコード文字列を操作するプログラムを作成しようとしています。 2つのアプローチが考えられました。一つは、改行を含むファイル全体を読み込み、いくつかの正規表現の置換を実行し、別のファイルに書き戻します。もう片方はファイルごとに行ごとに読み込んで個々の行にマッチさせて置き換えて書き出します。文字列の改行が改行としてファイルに書き込まれていないため、私は最初のアプローチをテストできませんでした。ここで説明するためにいくつかのサンプルコードです:文字列の改行がファイルに書き出されない
String output = "Hello\nthere!";
BufferedWriter oFile = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("test.txt"), "UTF-16"));
System.out.println(output);
oFile.write(output);
oFile.close();
print文の出力が
こんにちは
!
が、ファイルの内容が
Hellothereです!
改行がファイルに書き込まれないのはなぜですか?あなたがここ
System.getProperty("line.separator")
を使用してみてください
メモ帳で\ nだけのテキストファイルを正しく表示することはできません。 – akarnokd
まだそれが\ r \ nであるかどうかを確認してください –
ええ、私はちょうどそれを試して、それが動作します。奇妙なことに、何らかの理由でメモ帳を覚えているのは、それだけで0x0Aが見えても文字グリフが表示されていないことです。 –