支持7zip(LZMA)的C#免费压缩库

时间:2009-01-16 10:21:16

标签: c# compression 7zip lzma

我有一个程序(用C#编写)直接读取/写入数据(没有服务器的直接文件访问)到firebird数据库文件。为了更好的交换,我希望(un)在导入/导出时压缩它们,以便通过互联网进行更好的交换,而无需外部程序来(压缩)它们。

我知道#ziplib支持Zip,GZip,Tar和BZip2。

您知道C#的其他免费压缩库吗? 是否有支持LZMA的.NET库,因此我可以读/写“.7z”文件?

5 个答案:

答案 0 :(得分:25)

7-zip有一个免费的源代码,LZMA算法的公共域C#SDK:

http://www.7-zip.org/sdk.html

答案 1 :(得分:20)

Peter Bromberg撰写了一篇很好的文章:

7Zip (LZMA) In-Memory Compression with C#

  

显示一个简单的C#   SevenZip.Compression.Lzma.SevenZipHelper   类启用高压缩   使用C#的内存中对象。添加一个新的   7Zip格式LZMA Cookie压缩   类到以前发表的   CookieCompression实用程序。

答案 2 :(得分:7)

您可以尝试SevenZipSharp

答案 3 :(得分:4)

这似乎是一个鲜为人知的事实,但.NET库包含packaging/compression API

答案 4 :(得分:1)

如果您正在编写单个文件,那么您可以将其视为流并使用内置的GZipStream / DeflateStream(尽管在某些测试中,我做过,#ZipLib超出了MS的要求比率和速度)。或者在框架中的某处有内置的zip支持。不过,我不知道LZMA。