.NET 3.5中是否有内置的zip库?

时间:2009-02-26 23:53:25

标签: .net compression zip

.NET 3.5中是否有内置的zip库?

如果没有,那么流行的开源.net zip库是什么。

8 个答案:

答案 0 :(得分:32)

编辑:请参阅评论中的注释 - SharpZipLib现在没有维护,你可能想避免它。

开源:#ZipLib

我相信System.IO.Compression命名空间中的类可以用于压缩/解压缩单个数据流,但框架中没有内置任何内容来处理实际的zip文件。

编辑:正如蚂蚁回答中所提到的那样,有System.IO.Packaging.ZipPackage,但它确实看起来就像真正设计用于WPF一样,并且用于普通邮编并不是非常方便文件处理。值得研究一下。我以前没有意识到这一点......绝对值得调查。

答案 1 :(得分:22)

没有内置库。 有开源选项。

DotNetZip就是一个。简单,易用。它具有很好的功能: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");
        }
    }

答案 2 :(得分:10)

查看System.IO.Packaging.ZipPackage类。

答案 3 :(得分:6)

7Zip将提供帮助,并以多种语言提供

答案 4 :(得分:4)

答案 5 :(得分:1)

试试System.IO.Compression.DeflateStream

答案 6 :(得分:1)

我将是第二个推荐http://www.7-zip.org/sdk.html LZMA SDK,但它不是ZIP。

  1. 它在公共领域
  2. 解压后很快
  3. 完全托管实施
  4. 压缩比ZIP / RAR好得多。
  5. 占地面积非常小
  6. 它可以作为流

答案 7 :(得分:1)

System.IO.Compression从.Net 4.5开始具有ZipArchive类。