首页 > 代码库 > java调用删除文件的方法删除文件,却删除不干净
java调用删除文件的方法删除文件,却删除不干净
场景:
程序中在做数据下载时,生成了一个临时文件夹。夹子里面有一些txt和其他格式文件。
数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留。
网搜到了这个问题的原因:
内容来自:u012102536的博客
原文地址:http://blog.csdn.net/u012102536/article/details/53583455
原因:
临时文件对象在java虚拟机(jvm)中还未被解除引用,虽然看似没有变量指向这个临时文件对象了,但还没来得急被垃圾收集器自动回收解除引用。
因为jvm还占用着临时文件对象,所以删除不能成功。
解决方案:
在删除文件之前,执行一次垃圾回收,解除java虚拟机中的临时文件对象引用。
System.gc(); // 执行一次垃圾回收
file.delete();
java调用删除文件的方法删除文件,却删除不干净
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。