在JVM终止之前删除由访问zip条目创建的临时文件

时间:2011-11-04 12:53:17

标签: java zip

我正在开发一个包含解压缩大量文件的Web应用程序。这会导致大量的zip条目被读取,并且在系统的临时目录中创建了大量文件(您从系统属性'java.io.tmpdir'获得的文件)。

这通常不是问题,因为当JVM终止时,这些文件(是临时的)被正确删除。当部署应用程序的服务器暂时没有重新启动时,会出现问题。临时文件只是不断累积并填满服务器的磁盘。

我想在这里做的是删除每个zip文件处理后从zip生成的临时文件(我必须自己维护zip文件,所以我的目标不是删除那些)。

处理邮件的代码段如下:

    ZipFile zipFile = new ZipFile(file);

    try {
        Enumeration<? extends ZipEntry> entries = zipFile.entries();
        while(entries.hasMoreElements()){
            ZipEntry zipEntry = entries.nextElement();

            InputStream in = zipFile.getInputStream(zipEntry);

            try{

                //do stuff with the inputstream

                in.close();
                in = null;
            }
            finally {
                if(in != null){
                    in.close();
                }
                zipEntry = null;
            }
        }
    } finally {
        zipFile.close();
    }

Java中有没有办法访问和删除这些临时文件?我在这里做错了吗?

提前致谢!

0 个答案:

没有答案