0

GZIP 的大小限制为 4GB,从http://www.gzip.org/#faq10获得 。上面的链接中提到了一些补丁,可以读取超过 4GB 的文件。

我正在使用 GZIPInputStream 读取 .gz 文件。

而且我也能够读取超过 4GB 的大小。我知道我正在混淆 java 中的输入流和实际的 gzip 可执行文件。

但我想知道这是否可能是一个问题?

例如 - 是否会出现我无法在 java 中读取 6Gb .gz 文件的情况?直到现在我试过了,我没有遇到任何问题。

简而言之,gzip文件大小限制和java中的gzipinputstream之间有关系吗?

4

2 回答 2

1

正如您所说,区分gzip工具和gzip文件格式很重要。

前者直到 1.2.4 版本才支持大于 4GB 的文件。

后者在RFC 1952中指定,没有固有的 4GB 限制。

Java 的 RFC 1952 实现似乎也没有任何 4GB 限制。我经常使用(Java 1.6/1.7)读取大文件GZIPInputStream,从来没有遇到过问题。

于 2013-01-17T08:34:58.637 回答
0

此限制仅涉及 gzip 程序。因此,如果编写得当,您的应用程序在读取/写入超过 4GB 的文件时应该不会有任何问题。

然而,请记住,如果人们试图读取您编写的 4GB+ 文件,他们可能会遇到一些问题,如果他们使用 gzip 程序。

于 2013-01-17T08:32:32.000 回答