有没有人知道.NET的开源压缩库?
答案 0 :(得分:35)
关于内部gzip实现的评论和其他帖子,它们不相同! GZip不会创建归档所需的标头;它仅对“压缩”一个文件或流有用。
正确的zip存档包含一个标题,列出所有压缩文件以及它们来自压缩数据的位置,因此您需要一些标题。这意味着SharpZipLib,许多商业版本之一,或使用像7zip这样的.NET绑定外部的东西。
有人想说的话:“但我一直在Linux中看到.gz
个文件!” - 它们只是单个文件,.tar.gz
也不例外 - tar是存档文件。 .gz
是压缩的档案。
答案 1 :(得分:25)
夫妻评论。
DotNetZip是一个很好的第三方选项。免费,开源,积极维护,易于使用,小巧,良好的功能集。它作为单个程序集发布 - 它是完全托管的代码。适用于Compact Framework以及常规.NET Framework。 pre-req是.NET 2.0。
DotNetZip还包括一个ZLIB库,其中包含{Zlib,GZip,Deflate} Stream等类。它们与.NET内置的可比,但它们包括设置压缩级别的能力,在更高级别,它们比内置类更有效地压缩。 ZlibStream执行RFC 1950压缩。
DotNetZip可以处理ZIP64,密码,AES加密,流,SFX和Unicode。使用它的每个人都说它比SharpZipLib更简单。有一个很好的帮助文件(.chm)和许多代码示例。
答案 2 :(得分:11)
DotNet Zip Library(Ionic.Zip.dll)非常易于使用。我觉得它比SharpZip更容易实现。
答案 3 :(得分:9)
答案 4 :(得分:8)
****但是.NET .NET已经支持开源zip .... ****
http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
这与GZIP库兼容。我用它来压缩c#数据并在C ++应用程序中通过网络解压缩。工作正常。
贝
答案 5 :(得分:2)
答案 6 :(得分:-1)
你也可以查看J#redist。它重新实现了java.util.zip。 Article