首页 > 代码库 > java调用删除文件的方法删除文件,却删除不干净

java调用删除文件的方法删除文件,却删除不干净

场景:

  程序中在做数据下载时,生成了一个临时文件夹。夹子里面有一些txt和其他格式文件。

数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留。

  网搜到了这个问题的原因:

  内容来自:u012102536的博客

  原文地址:http://blog.csdn.net/u012102536/article/details/53583455

 

 原因:
  临时文件对象在java虚拟机(jvm)中还未被解除引用,虽然看似没有变量指向这个临时文件对象了,但还没来得急被垃圾收集器自动回收解除引用。
  因为jvm还占用着临时文件对象,所以删除不能成功。
 
 
解决方案:
  在删除文件之前,执行一次垃圾回收,解除java虚拟机中的临时文件对象引用。
   System.gc();   // 执行一次垃圾回收
   file.delete();

 

java调用删除文件的方法删除文件,却删除不干净