【发布时间】:2008-12-17 12:28:59
【问题描述】:
有没有人知道一个好的.NET 开源压缩库?
【问题讨论】:
-
可能已被改写为“我需要使用 .net 生成 zip 存档。但是 .Net 缺乏 zip 存档支持。我们如何克服这个问题?”。但从 fx 4.5 开始,这通过 System.IO.Compression.ZipArchive 看起来已修复。
标签: .net open-source zip
有没有人知道一个好的.NET 开源压缩库?
【问题讨论】:
标签: .net open-source zip
关于内部 gzip 实现的 cmets 和其他帖子,它们不相同! GZip 不会创建归档所需的标头;它仅对“压缩”一个文件或流有用。
正确的 zip 存档包含一个标头,其中列出了所有压缩文件以及它们在压缩数据中的位置,因此您需要制作标头的东西。这意味着 SharpZipLib,是众多商业版本之一,或者使用带有 .NET 绑定的外部软件,如 7zip。
碰巧有人想说:“但我一直在 Linux 中看到 .gz 文件!” - 它们只是单个文件,.tar.gz 也不例外 - tar 是存档文件。 .gz 是压缩包。
【讨论】:
几个cmets。
DotNetZip 是一个不错的第 3 方选项。免费、开源、积极维护、使用简单、体积小、功能集好。它作为单个程序集交付 - 它是完全托管的代码。适用于 Compact Framework 以及常规 .NET Framework。先决条件是 .NET 2.0。
DotNetZip 还包含一个 ZLIB 库,其中包含 {Zlib,GZip,Deflate}Stream 等类。它们与 .NET 的内置类相当,但它们包括设置压缩级别的能力,并且在更高级别上,它们比内置类更有效地压缩。 ZlibStream 进行RFC 1950 压缩。
DotNetZip 支持 ZIP64、密码、AES 加密、流、SFX 和 Unicode。每个使用它的人都说它比 SharpZipLib 使用起来简单得多。有一个很好的帮助文件 (.chm) 和很多代码示例。
【讨论】:
DotNet Zip 库 (Ionic.Zip.dll) 非常易于使用。我觉得它比SharpZip更容易实现。
【讨论】:
**** 但是伙计们 .NET 已经支持开源 zip....****
http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
这与 GZIP 库兼容。我用它来压缩 C# 数据并在 C++ 应用程序中跨网络解压缩。工作正常。
托尼
【讨论】: