1
我正在生成图像文件的zip文件。但如果找不到图像,则会生成例如java.util.zip.ZipException: ZIP file must have at least one entry
的异常。我正在处理这个异常,但是生成了一个大小为0的空zip。所以请帮我解决这个问题如何防止制作空的zip文件
try {
// create the ZIP file
ZipOutputStream out = getOutputStream(subpart, destinationZipPath);
/*
* ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
* destinationZipPath));
*/
// compress the files
LOGGER.error("zip creation is started @" + new Date().toString());
for (String fileNameDB : filesTobeZipped) {
// To check duplication of filename in zip creation
if (!filesHash.containsKey(fileNameDB)) {
filesHash.put(fileNameDB, fileNameDB);
File f = new File(sourceFolder + fileNameDB);
// to chk file is exists on physical location or not
if (f.exists()) {
if (fileCount >= batchFileLimit) {
out.close();
subpart++;
out = getOutputStream(subpart, destinationZipPath);
fileCount = 0;
// overallSize=0;
}
FileInputStream in = new FileInputStream(f);
// add ZIP entry to output stream
out.putNextEntry(new ZipEntry(f.getName()));
// transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
// complete the entry
out.closeEntry();
in.close();
fileCount++;
} else {
}
}
}
// complete the ZIP file
out.close(); // Exception if fileCount=0;
return true;
// return zipfile;
} catch (IOException ex) {
return false;
}