如何在Java FileOutputStream中编写新行

Pav*_*dar 15 java newline fileoutputstream

我想用一个写一个新的一行FileOutputStream; 我尝试了以下方法,但它们都没有工作:

encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
Run Code Online (Sandbox Code Playgroud)

Ale*_*exR 13

这应该工作.可能你忘记打电话了encfileout.flush().

但是,这不是写文本的首选方式.你应该用你的输出流包装PrintWriter并享受它的println()方法:

PrintWriter writer = new PrintWriter(new OutputStreamWriter(encfileout, charset));
Run Code Online (Sandbox Code Playgroud)

或者你可以使用FileWriter而不是FileOutputStream从头开始:

FileWriter fw = new FileWriter("myfile");
PrintWriter writer = new PrintWriter(fw);
Run Code Online (Sandbox Code Playgroud)

现在就打电话

writer.println();
Run Code Online (Sandbox Code Playgroud)

并且不要忘记打电话flush(),close()当你完成你的工作.


Ted*_*ddy 10

这可能是一个查看器问题...尝试在EditPlus或Notepad ++中打开文件.Windows记事本可能无法识别其他操作系统的换行.您现在在哪个程序中查看该文件?