我正在开发一个便携式Java应用程序,它可以在用户PC(windows xp)上动态生成一些文件。现在,我想要的是在java程序退出后删除那些临时文件。显然,java的文件删除机制是不可信任的。即使我将文件标记为在退出时删除(file.deleteOnExit()),大多数时候也不会删除它。我使用包装器(java2exe)将其作为可执行文件运行。欢迎任何建议或解决方案?
谢谢, 深
答案 0 :(得分:7)
我怀疑deleteOnExit
失败的原因是因为您的应用程序在您的应用程序退出时仍然打开了文件。由于文件锁定延迟,这将导致Windows上的删除失败。
解决方案是在退出之前关闭临时文件的所有流。