C 壓縮檔案(SharpZipLib)

2021-07-24 13:05:57 字數 1010 閱讀 3731

使用國外開源加壓解壓庫icsharpcode.sharpziplib實現加壓,該庫的官方**為

使用體驗:可以照著例子實現簡單的加壓解壓,可以加壓乙個資料夾中的所有檔案,但沒有提供加壓子資料夾的說明。

目前網上的一些**有的無法加壓空資料夾,有的加壓了用rar解不開,這是一點需要改進的。

但如果只需要加壓資料夾第一級子目錄中的「檔案」(不包括資料夾和子目錄)的情況,使用這個庫是很方便的。而且是正常zip格式。

比.net提供的gzipstream類強在它可以按照標準zip格式加壓多個檔案,而gzipstream沒有提供加壓多個檔案的方法,需要自己定義,

這樣解壓也只有使用自己的程式才可以,通用性方面不如sharpziplib。

///

/// 功能:壓縮檔案(暫時只壓縮資料夾下一級目錄中的檔案,資料夾及其子級被忽略)

///

///被壓縮的資料夾夾路徑

///生成壓縮檔案的路徑,為空則預設與被壓縮資料夾同一級目錄,名稱為:資料夾名+.zip

///出錯資訊

///是否壓縮成功

public

bool

zipfile(string dirpath, string zipfilepath, out

string err)

if (!directory.exists(dirpath))

//壓縮檔案名為空時使用資料夾名+.zip

if (zipfilepath == string.empty)

zipfilepath = dirpath + ".zip";

} try

while (sourcebytes > 0);

} }

s.finish();

s.close();

} }

catch (exception ex)

return

true;

}

C 壓縮檔案

首先新增system.io.com pression 注意deflatestream類不能用來壓縮大小超過4gb的檔案。gzipstream同樣不能用來壓縮大小超過4gb的檔案。public void compressfile string srcfile,string dstfile if fil...

C 壓縮檔案

c 壓縮檔案 方法1 filepath想要壓縮檔案的位址 zippath輸出壓縮檔案的位址 private void getfiletozip string filepath,string zippath 方法2 private void filetozip string path,string a...

C 壓縮檔案

最近悟出來乙個道理,在這兒分享給大家 學歷代表你的過去,能力代表你的現在,學習代表你的將來。十年河東十年河西,莫欺少年窮。學無止境,精益求精 上一節講述了c webapi傳參之post請求 ajax 本節 c 壓縮檔案的方法,直接上 如下public class ziputility filestr...