假设我使用下面的方法在Java中创建了一个临时文件
File tmp = File.createTempFile(prefix, suffix);
如果我不显式调用delete()
方法,什么时候删除文件?
根据直觉,它可能是JVM终止的时间,或者更早(由垃圾收集器终止),或者更晚(由某个操作系统清理进程终止)。
发布于 2013-05-22 20:15:59
临时文件用于存储不太重要的临时数据,当您的系统终止时,应始终删除这些数据。最佳实践是使用File.deleteOnExit()来执行此操作。
例如,
File temp = File.createTempFile("abc", ".tmp");
temp.deleteOnExit();
上面的示例将创建一个名为“abc.tmp”的临时文件,并在程序终止或退出时将其删除。
发布于 2013-05-22 20:16:14
如果愿意,您可以在终止进程之前手动删除该文件,但是当进程终止时,该文件也会被删除。
https://stackoverflow.com/questions/16691437
复制相似问题