java—在不结束程序的情况下写入外部文件

efzxgjgh  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(257)

我有一个程序,只能按终止 Ctrl + C . 在本程序中,我使用以下命令写入外部文件:

File logFile = new File("output.txt");
PrintWriter log_file_writer = new PrintWriter(logFile);
log_file_writer.println("TEXT");

但是,由于我不知道程序何时终止,因此无法使用以下命令关闭文件:

log_file_writer.close();

我认为这会导致输出文件中没有出现文本。
有人能解决这个问题吗?
谢谢你的帮助。

dsekswqp

dsekswqp1#

正如javadoc所说: PrintWriter(File file) 使用指定的文件创建新的printwriter,而不进行自动换行。
因此,需要刷新实际缓冲的要打印的数据:

log_file_writer.flush();
1wnzp6jl

1wnzp6jl2#

log_file_writer.flush();

将内容推送到磁盘

dgenwo3n

dgenwo3n3#

你没有冲水的内容,我总是用 autoFlush 参数,但不适用于 File :

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

但你也可以用 log_file_writer.flush(); 每次写入后。

相关问题