我们正在使用 ZipOutputStream(在 32 位 jdk 上)从多个文件创建单个 Zip 文件。
如果我们使用 5 个 pdf 文件(每个 pdf 为 1 GB)创建 Zip 文件,那么它会创建损坏的 Zip 文件。如果我使用(4 个 pdf 文件 - 每个 pdf 为 1 GB)创建 Zip 文件,则它会创建正确的 Zip 文件。
32 位 JDK 上的 Zip 文件大小是否有任何限制?
我们正在使用 ZipOutputStream(在 32 位 jdk 上)从多个文件创建单个 Zip 文件。
如果我们使用 5 个 pdf 文件(每个 pdf 为 1 GB)创建 Zip 文件,那么它会创建损坏的 Zip 文件。如果我使用(4 个 pdf 文件 - 每个 pdf 为 1 GB)创建 Zip 文件,则它会创建正确的 Zip 文件。
32 位 JDK 上的 Zip 文件大小是否有任何限制?
原始 ZIP 格式有许多限制(文件的未压缩大小、文件的压缩大小和存档的总大小)为 4GB。
更多信息:http ://en.wikipedia.org/wiki/ZIP_(file_format )
原始 zip 格式对各种事物(文件的未压缩大小、文件的压缩大小和存档的总大小)有 4 GiB 的限制,并且 zip 存档中的条目限制为 65535 个。在规范的 4.5 版本(与任何特定工具的 v4.5 不同)中,PKWARE 引入了“ZIP64”格式扩展来绕过这些限制,将限制增加到 16 EiB(264 字节)。Windows XP 中的文件资源管理器不支持 ZIP64,但 Windows Vista 中的资源管理器支持。同样,一些库,例如 Perl 中的 DotNetZip 和 IO::Compress::Zip,支持 ZIP64。Java 的内置 java.util.zip 从 Java 7 版本开始支持 ZIP64。[29]