我想用FileOutputStream
写一个新行;我尝试了以下方法,但它们都没有工作:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
答案 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());