JDK 7引入了一个名为Files.createTempDirectory
的API,但当JVM终止时,API创建的目录不会自动删除。
不幸的是,File.deleteOnExit
不适用于非空目录。
有没有一种方法可以创建一个在JVM终止时自动删除的目录?
从Commons IO 中使用类似deleteDirectory的东西注册自定义关闭挂钩
您可以使用的技巧是:
- 关闭应用程序时。使用list()方法获取tempDirectory中所有文件的列表
- 对列表中的每个文件执行
delete()
操作 - 之后,您可以删除该目录