GZIP有一个4 4GB的大小限制,是从http://www.gzip.org/#faq10得到的。上面的链接中提到了一些补丁,可以读取超过4 4gb的文件。
我正在使用GZIPInputStream读取.gz文件。
而且我也能读取超过4 4GB的数据。我知道我把java中的输入流和实际的gzip可执行文件搞混了。
但我想知道这是否会成为一个问题?
例如,会不会有这样的情况:我无法在java中读取一个6 6Gb的.gz文件?到目前为止,我试过了,没有遇到任何问题。
简而言之,在java中,gzip文件大小限制和gzipinputstream之间有关系吗?
发布于 2013-01-17 16:34:59
正如您所说,区分gzip工具和gzip文件格式非常重要。
前者在1.2.4版之前不支持大于4 4GB的文件。
后者是在RFC 1952中指定的,没有固有的4 4GB限制。
Java的RFC1952实现似乎也没有任何4 4GB的限制。我经常使用GZIPInputStream (Java1.6/1.7)读取大文件,从来没有遇到过问题。
发布于 2013-01-17 16:32:32
这个限制只与gzip程序有关。因此,如果编写得当,您的应用程序在读取/写入超过4 4GB的文件时应该不会有任何问题。
但是,请记住,如果使用gzip程序,尝试读取您编写的4GB+文件的人可能会遇到一些问题。
https://stackoverflow.com/questions/14374844
复制相似问题