天天看點

C# 制作Zip壓縮包

壓縮包制作也是很多項目中需要用到的功能。比如有大量的檔案(假設有10000個)需要上傳,1個1個的上傳似乎不太靠譜(靠,那得傳到什麼時候啊?),這時我們可以制作一個壓縮包zip,直接傳這個檔案到伺服器端,然後在伺服器目錄解壓,釋放裡面的檔案。

這裡我們選用ICSharpCode.SharpZipLib這個類庫來實作我們的需求。

ICSharpCode.SharpZipLib提供了兩個壓縮算法的實作,分别是BZIP2(壓縮時間長,壓縮率高)和GZIP(壓縮效率高,壓縮率低)。

先定義一個枚舉,用于程式标示是哪個壓縮算法。

單個檔案的壓縮:

單個檔案的解壓縮:

上面的兩個方法在引用了dll後,可以直接使用。

看到這裡,相信讀者有疑問了,如果我想讓多個檔案壓縮到1個zip包裡呢?甚至可以給檔案加密?給zip包加注釋?

好吧,我這裡繼續貼兩個方法,都經過測試,可用。

制作壓縮包:

解壓縮包:

調用時我們可以這麼寫:

C# 制作Zip壓縮包

繼續閱讀