gpt4 book ai didi

java - ZipOutputStream 的文件大小限制?

转载 作者:行者123 更新时间:2023-11-29 10:02:55 33 4
gpt4 key购买 nike

我正在使用 ZipOutputStream创建 ZIP 文件。它工作正常,但 Javadoc 非常稀疏,所以我对 ZipOutputStream 的特性有疑问:

  1. 支持的最大文件大小是否有限制?对于 ZIP 中包含的文件和生成的 ZIP 文件本身? size 参数是 long,但谁知道呢。 (让我们假设文件系统没有施加任何限制。)

  2. 证明使用 DEFLATED 方法的最小输入文件大小是多少?

我将始终使用 ZipInputStream 读取生成的 ZIP 文件.

最佳答案

最重要的方面是,在当前的 Java-7 JDK 中,ZipOutputStream 根据 the 2012 PKZIP specification 创建 ZIP 文件。 ,其中还包括对 ZIP64 的支持。请注意 ZIP64 具有 had bugs at first , 但任何最新版本的 Java 7 JDK 都可以。

  1. 因此最大文件大小为 264-1 字节。我尝试使用 10 GB 的测试文件。这比 4 GB 的标准 ZIP 大得多。我可以毫无问题地将它添加到 ZIP 文件中,即使生成的 ZIP 文件本身超过 4 GB。

  2. 证明使用 DEFLATED 方法的最小文件大小是 22 字节。这与最小 ZIP 文件大小无关,后者也是 22 字节(对于空 ZIP 文件)。我通过添加长度不断增加的 a 字符串凭经验确定了这个数字(见下图)。这样一串相同的字符压缩得很好,所以在现实世界中,盈亏平衡点会更高。

Deflated vs. Stored

关于java - ZipOutputStream 的文件大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288564/

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