【发布时间】:2012-02-22 16:23:34
【问题描述】:
在我的应用程序中,我正在编写一个文件来存储一些执行信息,一旦执行完成,我想删除临时文件。问题是即使在文件关闭或通过流刷新后我也无法删除文件。我试过了
Thread.sleep(1000);
file.delete();
这也没有删除文件。然后我创建了一个while循环
while(!file.delete())
Thread.sleep(1000);
它一直在循环。然后我添加了
System.gc();
file.delete();
成功了!!!
我已确认我已正常关闭或刷新文件。我想知道为什么我的代码可以使用 System.gc()?
【问题讨论】:
-
在尝试删除文件之前,请确保您已关闭所有打开的文件流。
-
这仍然是真的。这是一个与 Windows 相关的错误 JDK-4715154。可能这就是为什么 Scala 运行时库中有特殊的
scala.compat.Platform.collectGarbage()条目。
标签: java file file-io delete-file