c SharpZipLib實現壓縮

2021-08-11 02:10:32 字數 2212 閱讀 9662

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

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

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

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

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

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

[c-sharp]view plain

copy

using

icsharpcode.sharpziplib.zip;  

#region 加壓解壓方法

/// 

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

/// 

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

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

/// 出錯資訊

/// 是否壓縮成功

public

bool

zipfile(

string

dirpath, 

string

zipfilepath, 

outstring

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

;  }  

/// 

/// 功能:解壓zip格式的檔案。

/// 

/// 壓縮檔案路徑

/// 解壓檔案存放路徑,為空時預設與壓縮檔案同一級目錄下,跟壓縮檔案同名的資料夾

/// 出錯資訊

/// 解壓是否成功

public

bool

unzipfile(

string

zipfilepath, 

string

unzipdir, 

outstring

err)  

if(!file.exists(zipfilepath))  

//解壓資料夾為空時預設與壓縮檔案同一級目錄下,跟壓縮檔案同名的資料夾

if(unzipdir == 

string

.empty)  

unzipdir = zipfilepath.replace(path.getfilename(zipfilepath), path.getfilenamewithoutextension(zipfilepath));  

if(!unzipdir.endswith(

"//"

))  

unzipdir += "//"

;  if

(!directory.exists(unzipdir))  

directory.createdirectory(unzipdir);  

try  

if(!directoryname.endswith(

"//"

))  

directoryname += "//"

;  if

(filename != string.empty)  

else

}  }  }  

}//while

}  }  

catch

(exception ex)  

return

true

;  }//解壓結束

#endregion

C 中用SharpZipLib dll實現壓縮解壓

using system using system collections generic using system text using system.io using icsharpcode.sharpziplib.checksums using icsharpcode.sharpziplib....

壓測平台實現原理

1 怎麼理解壓測系統 官方理解 基於實際的生產環境,系統環境,模擬海量使用者的真實請求,對業務進行整個鏈路的壓力測試,並持續調優的過程。白話理解 槍的測試 盾的測試,測試平台能不能防彈。壓測是不斷密集的向平台發射子彈,平台能越實時越真實的詳細的給使用者結果越好。自我認識 壓測系統是模擬多使用者行為的...

C 使用SharpZipLib實現zip壓縮

使用國外開源加壓解壓庫icsharpcode.sharpziplib實現加壓,該庫的官方 為 使用體驗 可以照著例子實現簡單的加壓解壓,可以加壓乙個資料夾中的所有檔案,但沒有提供加壓子資料夾的說明。目前網上的一些 有的無法加壓空資料夾,有的加壓了用rar解不開,這是一點需要改進的。但如果只需要加壓資...