在 java 中使用 deleteOnExit() 方法

2022-09-01 18:18:43

java.io.File 类中的 delete()deleteOnExit() 方法在 Java 中的区别是什么?


答案 1

delete() 将立即删除文件,而 deleteOnExit() 不会在您调用文件时删除该文件。相反,当程序结束时或更准确地说,虚拟机终止时,该文件将被删除。

如果虚拟机不定期终止,deleteOnExit() 不起作用。


答案 2

File.delete() 方法删除文件或在删除失败时引发异常。例如,如果该文件不存在,则会引发 NoSuchFileException。若要删除目录,该目录必须为空。如果文件已成功删除,则此方法返回 true,否则为 false(可能是由于读/写权限)。当您想要删除已知文件/直接时,将使用此方法。

File.deleteOnExit() 此方法在虚拟机终止时删除由抽象路径名定义的文件或目录。文件或目录在注册时将按相反的顺序删除。该方法不返回任何值。这在程序执行期间生成临时文件时很有用。


推荐