1

新しく作成したファイルを jGRASP で開くと、多数のテキスト行が含まれています。メモ帳で同じテキスト ファイルを開くと、同じデータを含む 1 行のテキストが含まれています。transFile は、作成中のテキスト ファイルの名前の単なる変数です。

FileWriter f = new FileWriter(transFile, true);
BufferedWriter out = new BufferedWriter(f);
out.write(someOutput + "\n");
out.close();
f.close();

コードを次のように変更し、メモ帳の問題を修正しました。

out.write(someOutput + "\r\n");

なぜこれが起こるのですか?

4

3 に答える 3

1

ウィンドウのデフォルトの行区切りは (歴史的に) です\r\n。Windowsの「メモ帳」アプリは、そのセパレーターのみを認識します。

Java は実際には、それが実行されているシステムのデフォルトの行区切りを認識しており、システム プロパティを介して利用できるようにしますline.separator。あなたのコードでは、次のことができます:

...
out.write(someOutput);
out.newLine();
...

このnewLine()メソッドは、そのプロパティで定義されているシステムの行区切りを追加します。

于 2013-07-16T23:17:00.293 に答える