有谁知道一个很好的.NET开源压缩库?
SharpZipLib
关于内部gzip实现的评论和其他帖子,它们不一样!GZip不会创建归档所需的标头; 它仅对"压缩"一个文件或流有用.
正确的zip存档包含一个标题,列出所有压缩文件以及它们来自压缩数据的位置,因此您需要一些标题.这意味着SharpZipLib,许多商业版本之一或使用外部与.NET绑定,如7zip.
只是有人想说这个:"但我总是.gz
在Linux上看到文件!" - 它们只是单个文件,.tar.gz
也不例外 - tar是存档文件.这.gz
是压缩的档案.
夫妻评论.
不要使用J#运行时.J#已经停止使用.未来的支持是值得怀疑的.此外,当你想要的只是ZIP支持时,整个J#运行时是一个很大的难题.
System.IO.Compression中的GzipStream是.NET 2.0以来.NET基类库的一部分,它为IETF RFC-1952压缩提供了一个流接口.虽然压缩比不是最佳的,但它可以很好地进行压缩,并且它将显着扩展先前压缩的数据.这个错误已报告给微软,但它显然已被关闭.还有一个类似的DeflateStream,但是对于RFC 1951.有一种常见的误解,即GZipStream会执行zip文件.不对. 这两个都不是zip文件.
有System.IO.Packaging.ZipPackage.它可以工作,但主要用于打包MS Office 2007(.docx,.xslx和.pptx)文件.它对于zip文件来说不实用,并且不支持许多ZIP功能,例如加密.
如果您想要一种灵活的方式来在.NET中创建和读取zip文件,那么目前需要第三方库.
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)和许多代码示例.
DNZ CHM http://i27.tinypic.com/2nl8fwk.jpg
DotNet Zip库(Ionic.Zip.dll)非常易于使用.我觉得它比SharpZip更容易实现.
http://www.codeplex.com/DotNetZip
试试看7-zip.这是开源和我喜欢的zip程序.很纠结.利用多核也.
.NET SDK可在此处获得.
****但是家伙.NET已经支持开源zip ....****
http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
这与GZIP库兼容.我用它来压缩c#数据并在C++应用程序中通过网络解压缩.工作良好.
托尼