java生成Zip文件,无法删除,资源被占用问题
2017-05-31 14:06
686 查看
最近做的东西涉及文件操作,生成文件,打压缩包一切ok,但是当我要删除本地生成的文件时,无法删除,文件资源被java程序占用。后来通过查看书籍找到了问题所在。
文件资源被占用的原因很简单,文件流打开后未关闭。所以我对代码所有打开的文件流进行排查,所有打开的文件流都进行了关闭,但是很不幸,生成的文件仍然无法关闭,最后去查看资料是如何生成zip压缩包的,发现zip有个closeEntry()操作,closeEntry():关闭这个zip文件中当前打开的项。原来创建zipEntry的时候打开了文件,在调用zip的close前需要先调用closeEntry()方法才行。注意,文件流的关闭遵循一个原则:先打开后关闭
文件资源被占用的原因很简单,文件流打开后未关闭。所以我对代码所有打开的文件流进行排查,所有打开的文件流都进行了关闭,但是很不幸,生成的文件仍然无法关闭,最后去查看资料是如何生成zip压缩包的,发现zip有个closeEntry()操作,closeEntry():关闭这个zip文件中当前打开的项。原来创建zipEntry的时候打开了文件,在调用zip的close前需要先调用closeEntry()方法才行。注意,文件流的关闭遵循一个原则:先打开后关闭
相关文章推荐
- WPF BitmapImage 占用资源无法释放、无法删除问题
- java进程占用文件无法删除问题
- Java无法删除被占用资源文件解决办法(IO流的关闭)
- Android中的xml或者drawable下面的资源无法在R.java中生成id的问题--2014年12月3日
- WPF BitmapImage 占用资源无法释放、无法删除的问题
- WPF BitmapImage 占用资源无法释放、无法删除问题
- jetty java文件无法删除 java文件占用 delete无效 运行时锁定静态资源的解决方法
- java.sql.SQLException: 查询处理器用尽了内部资源,无法生成查询计划 错误分析解决
- tomcat问题,jsp页面无法编译,web页面一片空白,log显示空指针,在tomacat的work文件夹下没有生成相应的Java文件
- C#解决文件被占用资源,无法删除或修改的方法
- 【JAVA】使用jacob生成的html,关于文字乱码处理,图片无法显示等问题。
- 无法再R.java中生成id的问题及R.layout.main中main一直报红错
- java zip压缩优化版 解决压缩后文件一直被占用无法删除
- Android ADT更新后无法编译生成R.java的问题解决方案
- Android新建项目无法自动生成R.java的问题解决办法
- 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题
- 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题
- java 服务程序cpu资源占用高的问题
- 解决eclipse创建Maven项目后无法生成src/main/java资源文件夹的方法
- 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题