gpt4 book ai didi

java - 创建 zip 存档时,什么构成重复条目

转载 作者:行者123 更新时间:2023-11-30 09:54:49 26 4
gpt4 key购买 nike

在 Java 网络应用程序中,我从各种内存文件(存储为 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”)。名称冲突是否足以导致此异常?

最佳答案

您不能在 zip 存档中存储 2 个同名的条目(在同一文件夹中),就像您不能在文件系统的同一文件夹中存储 2 个同名的文件一样。

编辑;虽然从技术上讲 zip 文件格式允许这样做,但用于处理 ZIP 存档的 Java API 却不允许。

关于java - 创建 zip 存档时,什么构成重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com