我正在开发一个包含解压缩大量文件的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中有没有办法访问和删除这些临时文件?我在这里做错了吗?
提前致谢!