32

.NET 3.5 に組み込みの zip ライブラリはありますか?

そうでない場合、一般的なオープン ソースの .net zip ライブラリは何ですか。

4

8 に答える 8

32

編集: コメントの注を参照してください - SharpZipLib は現在メンテナンスされていません。おそらくそれを避けたいと思うでしょう。

オープン ソース: #ZipLib

名前空間のクラスはSystem.IO.Compression、単一のデータ ストリームを圧縮/解凍するのに適していると思いますが、実際の zip ファイルに対処するためのフレームワークには何も組み込まれていません。

編集: Ants の回答に記載されているように、 System.IO.Packaging.ZipPackageがありますが、それは確かに WPF で使用するように設計されているように見え、一般的な zip ファイル処理に使用するのはあまり便利ではありません。しかし、調べる価値があります。私は以前にそれを認識していませんでした...間違いなく調査する価値があります。

于 2009-02-26T23:55:30.510 に答える
23

組み込みライブラリはありません。オープンソースのオプションがあります。

DotNetZipはその 1 つです。シンプルで使いやすい。優れた機能があります: AES 暗号化、通常の暗号化、ストリーム、ZIP64、ファイル コメント、Unicode、進行状況イベントなど。しかも無料でオープンソースです。

ここにいくつかのサンプルコードがあります。

    // extract all Photoshop files larger than 100mb
    using (ZipFile zip1 = ZipFile.Read(ZipFileName))
    {
        var LargePhotoShopFiles = zip1.SelectEntries("name = *.psd  and size > 100mb");
        foreach (ZipEntry e in LargePhotoShopFiles)
        {
            if (e.UsesEncryption)
                e.ExtractWithPassword("unpackDirectory", "VerySecret!");
            else 
                e.Extract("unpackDirectory");
        }
    }
于 2009-03-02T22:11:29.773 に答える
6

7Zipが役立ち、複数の言語で利用できます

于 2009-02-27T00:00:06.113 に答える
4

http://www.icsharpcode.net/OpenSource/SharpZipLib/

于 2009-02-26T23:57:42.530 に答える
1

試してみてくださいSystem.IO.Compression.DeflateStream

于 2009-02-26T23:55:01.447 に答える
1

2 番目にhttp://www.7-zip.org/sdk.html LZMA SDKをお勧めしますが、これは ZIP ではありません。

  1. パブリックドメインです
  2. 解凍が速い
  3. 実装を完全に管理しています
  4. ZIP/RARよりもはるかに優れた圧縮です
  5. フットプリントが非常に小さい
  6. ストリームとして機能することができます
于 2009-04-26T08:17:58.490 に答える