<a href="http://www.cnblogs.com/Bonker/archive/2012/12/25/2831970.html">C#中關于zip壓縮解壓幫助類的封裝</a>
之前一個同學問了這個問題後,看了園子裡其它園友的封裝,都很零碎,調用也不是很友善。是以自己就封裝了一個zip解壓的類。後來想整理下怕自己忘了。就把壓縮的類也一并封裝了。
壓縮檔案及檔案夾。檔案壓縮很簡單,把待壓縮的檔案用流的方式讀到記憶體中,然後放到壓縮流中。就可以了。檔案夾就稍微麻煩下了。因為要把待壓縮的檔案夾解壓後保留檔案夾檔案的層次結構。是以我的實作方式就是 遞歸周遊檔案夾中的檔案。計算其相對位置放到壓縮流中。
代碼如下
關于解壓 解壓就簡單多了。有檔案解壓檔案,有檔案夾 周遊,解壓其中的檔案。解壓的檔案中已經包含了其與檔案夾的層次關系。
最後做個總結。C#作為進階語言,其強大的類庫和第三方提供的類庫。可以做很多事情。但也有弊端,用第三方類庫性能不是很高。我壓縮幾百M的東西。cpu瞬間跑到50%多。比360壓縮和zip壓縮性能差遠了。是以此類也就适用壓縮比較小的東西。
<a href="http://files.cnblogs.com/Bonker/ZipDemo.zip">完整例子下載下傳位址</a>
QQ:519841366
本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,
且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利