如何在Java FileOutputStream中编写新行

时间:2014-06-16 12:05:42

标签: java newline fileoutputstream

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

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

4 个答案:

答案 0 :(得分:10)

这应该有效。可能你忘了拨打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()

答案 1 :(得分:10)

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

答案 2 :(得分:0)

要添加换行符,请使用 fileOutputStream.write(10); 因为十进制值10代表ASCII的换行符

答案 3 :(得分:0)

String lineSeparator = System.getProperty("line.separator");
<br>
fos.write(lineSeparator.getBytes());