web-dev-qa-db-ja.com

Java FileOutputStreamに新しい行を書く方法

FileOutputStream;を使用して新しい行を書きたい次のアプローチを試しましたが、どれも機能していません。

encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
15
Pavan Patidar

ビューアの問題の可能性があります...ファイルをEditPlusまたはNotepad ++で開いてみてください。 Windowsメモ帳は、別のオペレーティングシステムの改行を認識しない場合があります。現在、どのプログラムでファイルを表示していますか?

10
Teddy

これは動作するはずです。おそらくencfileout.flush()を呼び出すのを忘れました。

しかし、これはテキストを書くための好ましい方法ではありません。出力ストリームをPrintWriterでラップし、そのprintln()メソッドをお楽しみください:

_PrintWriter writer = new PrintWriter(new OutputStreamWriter(encfileout, charset));
_

または、最初からFileWriterの代わりにFileOutputStreamを使用できます。

_FileWriter fw = new FileWriter("myfile");
PrintWriter writer = new PrintWriter(fw);
_

今すぐ電話する

_writer.println();
_

そして、仕事を終えるときにflush()close()を呼び出すことを忘れないでください。

12
AlexR