2010-10-05 83 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,加密,「更好」的壓縮,自解壓等),那麼您已經知道在哪裏尋找。