6

MSDNから:DeflateStreamクラス

DeflateStreamを使用して、4GBを超えるファイルを圧縮することはできません。

4 GBの制限のない.NETの他の実装はありますか?

注:4GBを超えるコンテンツを含むGZ形式のファイルを解凍する必要があります。どんなコードでもそれを行うことができますか?

4

7 に答える 7

8

参考までに、.NET 4 の DeflateStream から 4 GB の制限を削除しました。

于 2009-02-03T03:02:30.697 に答える
7

CodeProjectに 7-Zip ライブラリを使用したサンプル コードがあります。

ライセンスはオープンなので、プロジェクトでこれを使用できるはずです。

7-Zip は GZ ファイルもサポートしています。

于 2009-02-02T22:38:39.353 に答える
2

SharpZipLibを見てください。同じ制限の対象かどうかはわかりませんが、一見の価値があります。

于 2009-02-02T22:53:09.590 に答える
1

周りを見渡すと、多くの人がこの問題に遭遇したようです。 System.IO.Compressio.DeflateStream の説明が最も包括的なようです。

Zip64 を使用することでこの問題を解決できる唯一の実装は、 Xceed Zip for .NETです。

しかし、それは非常に高価であり、あなたのニーズに合うかどうかはわかりません.

編集:

.NET 用の Zip64 の実装はかなりあるようですが、無料のものは見つかりません。

于 2009-02-02T22:32:46.527 に答える
1

DEFLATE64 (ZIP ファイル形式の拡張である Zip64 ではありません)をサポートするライブラリを探します。Xceed Zip for .NETは Deflate64 をサポートしており、他の製品もサポートしていると確信しています。

于 2009-02-03T02:51:23.650 に答える
0

そのドキュメントには、4GB の制限は DeflateStream と GZipStream の両方に適用されると書かれていますが、CRC32 チェックサムのために制限されるのは GZipStream だけです。CRC32 が必要ない場合は、DeflateStream を使用してください。

于 2009-06-02T12:36:12.137 に答える
0

DotNetZipは .NET の ZIP64 を実行し、無料です。しかし、Zip64 は Deflate64 と同じではありません。

于 2009-03-05T09:29:32.403 に答える