我的程序需要临时文件夹才能在运行时放入数据。该程序退出后不需要该数据,应该删除。程序的每个运行实例都需要一个文件夹。启动时删除临时文件
如果我使用file.deleteOnExit()
,这并不能确保文件在任何类型的崩溃时被删除。因此,我的想法是在启动时检查没有被删除的旧临时文件并将其删除。但是当启动另一个程序实例时,它不应该删除正在运行的程序的临时文件。我怎样才能做到这一点?
更具体地说:临时文件应该在系统的临时目录中,如果程序正常退出,应该删除。这个问题只是该程序崩溃的几次。该程序必须是独立于操作系统的。使用Path
而不是File
类的解决方案是优选的。
由于代码的设计方式,即使这是一个好主意,也不可能像在您建议的那样在不同的窗口中从同一进程运行多个实例。 – piegames
@piegames正如我们已经讨论过的,在退出时没有可靠的方法来删除临时文件,所以我们必须在启动时删除。就我所知,拥有多个实例几乎会使这项工作无法完成。 – Tony
该程序可以将时间戳放入临时目录中的文件中,并在后台线程中每分钟更新一次。如果时间戳早于〜5分钟,则该文件夹可能会被新实例删除。 – piegames