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 の制限はないようです。GZIPInputStream私は定期的に(Java 1.6/1.7)を使用して大きなファイルを読み込んでいますが、問題が発生したことはありません。

于 2013-01-17T08:34:58.637 に答える
0

この制限は、gzip プログラムにのみ関係します。したがって、適切に記述されていれば、アプリケーションで 4GB を超えるファイルの読み取り/書き込みに問題が発生することはありません。

ただし、gzip プログラムを使用すると、作成した 4 GB 以上のファイルを読み込もうとする人が問題に遭遇する可能性があることに注意してください。

于 2013-01-17T08:32:32.000 に答える