.NET 3.5中是否有内置的zip库?
如果没有,那么流行的开源.net zip库是什么。
答案 0 :(得分:32)
编辑:请参阅评论中的注释 - SharpZipLib现在没有维护,你可能想避免它。
开源:#ZipLib
我相信System.IO.Compression
命名空间中的类可以用于压缩/解压缩单个数据流,但框架中没有内置任何内容来处理实际的zip文件。
答案 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。
答案 7 :(得分:1)
System.IO.Compression从.Net 4.5开始具有ZipArchive类。