java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java写入zip文件后无法进行删除

java写入zip文件后无法进行删除的问题及解决

作者:朴实无华欣哥哥

这篇文章主要介绍了java写入zip文件后无法进行删除的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java写入zip文件后无法进行删除

今天做一个上传zip进行解压写入服务器,发现写入后无法对上传的ZIP进行删除,即使手动删除也不可以。总是提示被java 的jvm占用。

首先怀疑的是某个流没有关闭,但是仔细检查还是什么都关闭了,顺序也是正确的。

后来想想既然jvm占用可不可以提示一下让他回收内存呢。

加入 System.gc(); 方法后果然 zip文件可以删除了,完美解决。

java文件删除不了的坑,特别是压缩文件

我们在用java删除文件的时候通常直接调用file.delete();方法就行了,但是很多情况下却删除不了,

下面列举一些情况

然而我遇到的是上传一个文件,然后跟这个文件有关的流也关闭了,还是删除不了,后来发现有人把这个文件偷偷的转换成zip压缩文件了。

然后删除这个bookFile死活删除不了,如果出现这种情况,这个zipFile最后一定要close;

java.util.zip.ZipFile.close()方法关闭ZIP文件。

关闭此ZIP文件将关闭以前由调用getInputStream()方法返回的所有输入流。

这个方法连流都给我们关闭了!

就不用我们手动关闭zip文件的流了,最后在调用file.delete()方法就可以删除文件了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文