2011-11-10 152 views
8

我有一個文本文件,我想在獲取指定大小後進行壓縮。我已經看到GZipStream這很好,但RAR壓縮好多了。

我一直在尋找一個庫,可以壓縮一個文件與RAR(我真的不關心提取或解壓縮),但我還找不到一個。使用RAR壓縮文件

+0

我記得RAR具有良好的壓縮性能,但與其他一些相比非常慢。 7z我認爲兩者都有更好的壓縮比RAR更快,我相信他們有一個C#包裝器... http://dev.nomad-net.info/articles/sevenzipinterface –

+0

7z的API實際上並沒有壓縮到任何常見的使用的文件格式。它是特定於7z API(LZMA) –

+1

@EricJ的文件格式。不是這樣,這只是一個普通的城市傳說。 WinRAR的效率顯着提高,並且通常既快又小(忽略分割檢查和恢復等功能)。詳細信息:http://www.maximumcompression.com/index.html – ssube

回答

9

由於RAR compression algorithm不是免費的(只有解壓縮算法),所以您不會找到它的庫(或者必須購買許可證)。

一個很好的選擇是LZMA SDK,它提供了7-Zip中使用的壓縮算法。

對於壓縮比/速度的比較,你可以看看如:在Maximum Compression summary page中排名第50位和第52位,將「最佳實體」模式下的WinRAR 4.01與「超」模式下的7-Zip 9.22進行比較。 WinRAR僅壓縮稍好(< 1%),速度更快,7-Zip解壓縮速度更快。

請注意,正如peachykeen指出的那樣,如果您查看efficiency ratings而不是大小,則正常模式下的WinRAR比7-Zip快得多。

+0

在效率評級,WinRAR(在正常的,普通的固體,或最好的)具有超過7z的可靠邊緣。這適用於可執行文件,圖像和音頻,這是WinRAR專門爲它準備的。 http://www.maximumcompression.com/data/summary_mf2.php – ssube

+0

@peachykeen:編輯答案。不過,我希望你撤銷你的失望,因爲最初的問題是關於一個RAR壓縮庫,它不可用(免費),重點是文件大小。 – schnaader

+0

@schnaader:感謝您的建議,我不知道WinRAR不是免費的,7-Zip是一個很好的選擇。我正在嘗試使用_SharpCompress_庫,因爲我發現它比您建議的更容易使用。但是,我無法找到如何使用兩者的好例子。我會讓你知道我在白天的進步,謝謝! – gabriel290687