java调用删除文件的方法删除文件,却删除不干净
Posted 迷失之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java调用删除文件的方法删除文件,却删除不干净相关的知识,希望对你有一定的参考价值。
场景:
程序中在做数据下载时,生成了一个临时文件夹。夹子里面有一些txt和其他格式文件。
数据下载完毕后,需要删除这个临时文件夹,但是一直删除不干净,总会有一下文件残留。
网搜到了这个问题的原因:
内容来自:u012102536的博客
原文地址:http://blog.csdn.net/u012102536/article/details/53583455
原因:
临时文件对象在java虚拟机(jvm)中还未被解除引用,虽然看似没有变量指向这个临时文件对象了,但还没来得急被垃圾收集器自动回收解除引用。
因为jvm还占用着临时文件对象,所以删除不能成功。
解决方案:
在删除文件之前,执行一次垃圾回收,解除java虚拟机中的临时文件对象引用。
System.gc(); // 执行一次垃圾回收
file.delete();
以上是关于java调用删除文件的方法删除文件,却删除不干净的主要内容,如果未能解决你的问题,请参考以下文章