如何在Java FileOutputStream中编写新行

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

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

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

这应该工作。 可能你忘了调用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()