写入外部文件而不结束程序

时间:2013-06-06 08:17:35

标签: java printwriter

我有一个程序只能通过按Ctrl + C来终止。在这个程序中,我使用:

写入外部文件
File logFile = new File("output.txt");
PrintWriter log_file_writer = new PrintWriter(logFile);
log_file_writer.println("TEXT");

但是因为我不知道程序何时终止,我无法使用以下方法关闭文件:

log_file_writer.close();

我认为这导致输出文件中没有文字出现。

有人会有解决方案吗?

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

log_file_writer.flush();

将内容推送到磁盘

答案 1 :(得分:1)

作为javadoc says

  

PrintWriter(File file)使用指定的文件创建一个没有自动行刷新的新PrintWriter。

因此,您需要刷新要打印的实际缓冲的数据:

log_file_writer.flush();

答案 2 :(得分:0)

您没有刷新内容,我总是使用autoFlush参数,但File无效:

PrintWriter log_file_writer = new PrintWriter(new FileOutputStream("output.txt"),true);

但您也可以在每次写作后使用log_file_writer.flush();