如何在java中写入文件并动态保存
我有一个要求,写一个文件,而不是在系统中。出来println并同时保存,以便用户可以通过打开文件随时查看进度
现在我正在使用以下代码
FileWriter fstream = null;
File file1 = new File(logFile);
fstream = new FileWriter(file1);
out = new BufferedWriter(fstream);
out.write(msg);
out.write("\n");
但它不会将内容保存到文件中,除非我说出来。close()
供参考-1。这是一个JavaEE应用程序代码。 2.我不想使用Log4jLogger
有没有更简单的方法?有什么建议吗
# 1 楼答案
你也可以这样做
如果需要在特定时间进行输出,请使用
flush()
方法。此外,通过这种方式,您可以为输出文件指定编码# 2 楼答案
简单的答案是
OutputStream#flush()
。悲哀的答案是,在现实中,在很多Java EE部署中,这将很难保证,在JVM和虚拟化云技术中,f_sync()已经失去了曾经的承诺# 3 楼答案
你不需要调用
close()
——只要调用flush()