如何在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()
。