我想使用 FileOutputStream
写一个新行;我尝试了以下方法,但都没有用:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
原文由 Pavan Patidar 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用 FileOutputStream
写一个新行;我尝试了以下方法,但都没有用:
encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
原文由 Pavan Patidar 发布,翻译遵循 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 许可协议
4 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
4 回答2.2k 阅读
3 回答982 阅读✓ 已解决
2 回答807 阅读✓ 已解决
2 回答1.4k 阅读
这可能是查看器问题…尝试在 EditPlus 或 Notepad++ 中打开文件。 Windows 记事本可能无法识别其他操作系统的换行符。您现在在哪个程序中查看该文件?