场景:
程序中在做数据下载时,生成了一个临时文件夹。夹子里面有一些txt和其他格式文件。
数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留。
网搜到了这个问题的原因:
内容来自:u012102536的博客
原文地址:http://blog.csdn.net/u012102536/article/details/53583455
原因:
临时文件对象在java虚拟机(jvm)中还未被解除引用,虽然看似没有变量指向这个临时文件对象了,但还没来得急被垃圾收集器自动回收解除引用。
因为jvm还占用着临时文件对象,所以删除不能成功。
解决方案:
在删除文件之前,执行一次垃圾回收,解除java虚拟机中的临时文件对象引用。
System.gc(); // 执行一次垃圾回收 file.delete();
时间: 2024-08-05 14:22:07