在 Java Web 应用程序中,我正在从各种内存文件(存储为 byte[])创建一个 zip 文件。
这是代码的关键部分:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
for (//each member of a collection of objects) {
PDFDocument pdfDocument = //generate PDF for this member of the collection;
ZipEntry entry = new ZipEntry(pdfDocument.getFileName());
entry.setSize(pdfDocument.getBody().length);
zos.putNextEntry(entry);
zos.write(pdfDocument.getBody());//pdfDocument.getBody() returns byte[]
zos.closeEntry();
}
zos.close();
问题:在执行“putNextEntry()”行时,我有时会收到“ZipException:重复条目”。
PDF 文件本身肯定会有所不同,但它们可能具有相同的名称(“PDF_File_for_John_Smith.pdf”)。名称冲突是否足以导致此异常?