使用國外開源加壓解壓庫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解不開,這是一點需要改進的。但如果只需要加壓資...