【发布时间】:2016-02-23 14:12:33
【问题描述】:
我在一个非常大的应用程序中使用Java,有时我必须使用临时文件。我想在应用程序关闭时删除那些文件,这是我正在使用的简单快照:
File tempFile = File.createTempFile("sign_", "tmp.pdf");
tempFile.deleteOnExit();
我没有报告所有代码,因为它真的很大,而且我有很多班级互相工作。我会知道这可能是避免在关闭某些文件时删除的原因(某些文件被删除而其他文件没有被删除,但它们总是来自同一段代码,即未被删除的代码)。
编辑:我已经阅读了this example,但我认为我需要一些“理论”动机而不是代码示例来找到原因。
【问题讨论】:
-
如果那是你的真实代码,你不需要设置 tmp.deleteOnExit();到 tempFile.deleteOnExit()?
-
@AlexClem 我复制了另一段代码,你说得对!我正在编辑
-
@AndyTurner 我想是的,但我怎么能确定呢? (其他相同方式创建和删除的文件会定期删除)
-
它是否以零返回码退出?此外,如果您在 Windows 上,this answer 声明“不关闭临时文件足以防止它被删除”。