Java 如何创建在JVM终止时自动删除的临时目录?

Java 如何创建在JVM终止时自动删除的临时目录?,java,file,file-io,directory,temporary-files,Java,File,File Io,Directory,Temporary Files,JDK 7引入了一个名为Files.createTempDirectory的API,但是当JVM终止时,API创建的目录不会自动删除 不幸的是,File.deleteOnExit不适用于非空目录 有没有办法创建一个在JVM终止时自动删除的目录?您可以使用的技巧是: 关闭应用程序时。使用list()方法获取tempDirectory中所有文件的列表 对列表中的每个文件执行delete()操作 之后,您可以删除该目录 使用类似于Commons IO的东西注册自定义您可以始终使用临时Zip存档替换目

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

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


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

您可以使用的技巧是:

  • 关闭应用程序时。使用list()方法获取tempDirectory中所有文件的列表
  • 对列表中的每个文件执行
    delete()
    操作
  • 之后,您可以删除该目录
使用类似于Commons IO的东西注册自定义

您可以始终使用临时Zip存档替换目录,并将资源/文件内容存储在其中。我确实喜欢关机挂钩