嗨我在
java中使用了很多临时文件,我的问题是它们不会被删除.
无需实现我自己的临时文件管理处理(不是很难,我授予你,但我很懒,加上很多事情要做,如果我可以保存重新发明轮子,那就更好了)有没有办法确保临时文件在磁盘上将以相当规律的方式被删除.
1 – 使用File tmp = File.createTempFile(),确定我可以说tmp.deleteOnExit()但是如果事物在服务中运行它退出的唯一方式是它崩溃(很少发生),或者当系统崩溃时(比如当驱动器完全充满临时文件并翻倒集群时……哎呀!)
理想情况下,创建的实例在某些时候被垃圾收集器收集,并且由于应用程序中有很多空闲时间,如果GC可以完成它的清理并实际删除文件,那就太花哨了.从内存中取消引用实例时也可以使用磁盘.
我现在看到的唯一方法是重载File类并添加一个finalized方法……如果我这样做,那么可以选择我自己的临时文件管理器!
谢谢大家的答案.我接受了Christoffer,因为它是最简单的实现,也是我最终做的事情.
我想,经过这么多年的清理工作让我忘记了基本的家务管理,尽管我在C的好日子里做了很多努力.