Java 在不结束程序的情况下写入外部文件
我有一个程序只能通过按Java 在不结束程序的情况下写入外部文件,java,printwriter,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(); 但是,由于我不知道程序何时终止,因此无法使用以下方法关闭文件: File logFile = new Fi
Ctrl+C
来终止。在此程序中,我使用以下命令写入外部文件:
File logFile = new File("output.txt");
PrintWriter log_file_writer = new PrintWriter(logFile);
log_file_writer.println("TEXT");
log_file_writer.close();
但是,由于我不知道程序何时终止,因此无法使用以下方法关闭文件:
File logFile = new File("output.txt");
PrintWriter log_file_writer = new PrintWriter(logFile);
log_file_writer.println("TEXT");
log_file_writer.close();
我认为这会导致输出文件中没有文本出现
有人能想出解决办法吗
谢谢你的帮助
log_file_writer.flush();
将内容推送到磁盘
将内容推送到磁盘您没有刷新内容,我总是使用
autoFlush
参数,但它不适用于文件
:
PrintWriter log_file_writer = new PrintWriter(new FileOutputStream("output.txt"),true);
但是您也可以使用
log_file_writer.flush()代码>每次写入后。您没有刷新内容,我总是使用autoFlush
参数,但它不适用于文件
:
PrintWriter log_file_writer = new PrintWriter(new FileOutputStream("output.txt"),true);
但是您也可以使用log_file_writer.flush()每次写入后编码>。如下所示:
PrintWriter(文件文件)
使用指定的文件创建新的PrintWriter,无需自动换行
因此,您需要刷新实际缓冲的要打印的数据:
log_file_writer.flush();
作为:
PrintWriter(文件文件)
使用指定的文件创建新的PrintWriter,无需自动换行
因此,您需要刷新实际缓冲的要打印的数据:
log_file_writer.flush();
flush
PrintWriter
?flush
PrintWriter
?谢谢Djon。是的,每次写完信我都会“脸红”。谢谢你。是的,每次写完后我都在“冲洗”,没问题。我希望有帮助:)没问题。我希望有帮助:)