2010-10-05 85 views
0

我正在寻找一个在我的项目中使用的软件包来压缩一些XML文件。我通常使用WinRAR来压缩文件,我认为你可以使用7-Zip项目来做到这一点,这可以包含在.NET项目中。.NET文件压缩库

这是一个类似堆栈溢出 问题,7-Zip (7za.dll) .NET wrapper

的代码项目例子是C# (.NET) Interface for 7-Zip Archive DLLs

我特别想要的东西简单易用好压缩的比例。所提供的示例仅提取文件,并且我没有特别的时间来实现和测试压缩。

(GZipStream不够好,它压缩我的10   MB的文件到9   MB,和WinRAR的它压缩到0.5   MB)

所以,我的库或包后,我(我不在乎它是否花费),我可以将其包含在我的项目中,这使我可以轻松地压缩和解压缩具有良好压缩比并易于包含和使用的文件。

+0

WinRAR将比任何基于ZIP的软件包做得更好,因为RAR是一种优越的算法。您不能使用RAR,因为格式受法律手段的保护(不记得它是授权还是专利保护它,但我相信它是授权) – 2010-10-05 02:05:50

回答

1

查看各种选项后,我发现SevenZipSharp是从我的应用程序获取生成RAR文件的最佳和最简单的方法。

0

SharpZipLib通常是我对.NET压缩的默认回退。

您也可以尝试7-Zip SDK(其中包括C#绑定)。它可能比SharpZipLib提供更好的压缩比。

+0

请注意,7Zip SDK需要7zip DLL才能运行,IIRC。 – 2010-10-05 02:06:20

+0

@Billy - 您可以将它作为项目包含在项目中,以确保将DLL复制到项目的bin目录中。 – 2010-10-05 02:25:54

+0

是的 - 只是指出。并不是我们所有人都可以使用DLL。 – 2010-10-05 13:27:28

0

我认为GZipStream只允许你压缩/解压缩单个文件。如果你想压缩一组文件/目录,你可以使用DotNetZip。

http://dotnetzip.codeplex.com/

我不知道的压缩率。但DotNetZip产品是一个标准的ZIP文件。

0

我已经把在一份报告中对ZipStorer - 它也可以解压缩标准的ZIP文件[我不知道ZIP64或其他扩展] :-)

我用它,因为它是小(〜6   KB只是提取使得它比DotNetZip小得多,它比150ZZ大于  KB)并且比SharpZipLib更宽容。它也有一个非常小巧,简单和干净的代码库。但是,如果您确实需要其他人的功能(gzipbzip2,加密,“更好”的压缩,自解压等),那么您已经知道在哪里寻找。