【问题标题】:Save updated version of printWriter several times troughou a process通过一个过程多次保存 printWriter 的更新版本
【发布时间】:2013-10-13 20:02:47
【问题描述】:
我正在运行非常耗时的分析,并且只有它们(非常短的)结果使用 printWriter 输出到文本文件中。
由于我的计算机最近两次出现故障并且由于该过程未完成而未保存结果(它仅在最后到达printerWriter.close()时才保存文件),我想知道是否有办法在整个过程中多次保存文件并每次更新输出文件。在这种情况下,如果计算机崩溃,至少部分结果仍然可用并且不必重复。
一些细节:
使用不同的(固定的)随机种子重复一个过程 n=10 次迭代。每次迭代后,我想保存到目前为止运行的迭代中获得的结果。因此,每次迭代后都必须更新和保存所选的输出文件。
【问题讨论】:
标签:
java
io
save
temporary-files
printwriter
【解决方案1】:
我怀疑您正在寻找的只是在PrintWriter 上致电flush。
听起来您应该寻找一台新计算机,请注意...
【解决方案2】:
您可以使用以下方法创建 PrintWriter:
PrintWriter writer = new PrintWriter(new FileWriter("file name"), true);
在println() 或format() 或printf() 调用writer 时自动刷新输出缓冲区。或者您可以在需要时手动使用writer.flush() 刷新输出缓冲区。