如何在 Java FileOutputStream 中写入新行

新手上路,请多包涵

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

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

原文由 Pavan Patidar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 400
2 个回答

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

原文由 Teddy 发布,翻译遵循 CC BY-SA 4.0 许可协议

这应该工作。可能你忘了打电话给 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()

原文由 AlexR 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题