【问题标题】:How to create a temporary directory which will be automatically deleted whem JVM terminates?如何创建一个临时目录,该目录将在 JVM 终止时自动删除?
【发布时间】:2013-02-08 21:30:19
【问题描述】:

JDK 7 引入了一个名为Files.createTempDirectory 的 API,但是该 API 创建的目录不会在 JVM 终止时自动删除。

不幸的是,File.deleteOnExit 不适用于非空目录。

有没有办法创建一个在JVM终止时自动删除的目录?

【问题讨论】:

  • 您可能总是将目录替换为临时 Zip 存档并将资源/文件内容存储在其中。

标签: java file file-io directory temporary-files


【解决方案1】:

使用 Commons IO 中的 deleteDirectory 之类的东西注册自定义 shutdown hook

【讨论】:

  • 我确实喜欢关机钩子
【解决方案2】:

你可以使用的技巧是:

  • 关闭应用程序时。使用 list() 方法获取 tempDirectory 中所有文件的列表。
  • 对列表中的每个文件执行delete() 操作。
  • 之后,您可以删除该目录。

【讨论】:

    猜你喜欢
    • 2010-10-10
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多