發(fā)布了一個 .net壓縮解壓庫,基于SharpZipLib開發(fā) 藻丢,支持進度查看剪撬,支持路徑保持與否。
CL.IO.Zip 是一個基于SharpZipLib的一個壓縮和解壓的類庫悠反,提供給用戶在.net環(huán)境下使用(VB.NET,C#..等等)
當前最新版本為:V1.1.0
github地址:https://github.com/Jarvin-Guan/CL.IO.Zip 標個星
百度網(wǎng)盤下載地址:http://pan.baidu.com/s/1qWwZ0LI
歡迎各位自由下載源碼残黑,自由使用。
CL.IO.Zip
CL.IO.Zip 是一個基于SharpZipLib的一個壓縮和解壓的類庫问慎,提供給用戶在.net環(huán)境下使用(VB.NET,C#..等等)當前最新版本為:V1.1.0
做任何操作之前萍摊,請使用單例模式,獲取ZipHandler對象如叼。
ZipHandler handler = ZipHandler.GetInstance();```
1. 壓縮
1.1 壓縮文件夾并獲取壓縮進度
Method:PackDirectory
public void PackDirectory(string strDirectory, string zipedFile, ProcessChange changedDG)
var fromDic="E:\ZipTest";\\需要壓縮的文件夾路徑
var toZip="E:\ZipFile.zip";\\生成壓縮包的目標路徑
handler.PackDirectory(fromDic, toZip, (num) => { Debug.WriteLine("pack num:" + num); });\\num為百分比冰木,最大為100,可在此處寫處理邏輯
1.2 添加文件到zip文件中笼恰。
Method:AddFile
public void AddFile(string filePath, string zipPath,string filePathInZip)
var filePath="E:\ReadyToAdd.txt";\\需要添加到壓縮包的文件路徑
var zipPath="E:\ZipFile.zip";\\壓縮包文件路徑
handler.AddFile(filePath, zipPath, @"123\" + Path.GetFileName(filePath));\\需要添加到壓縮包的文件路徑
1.3 添加文件夾到zip文件中此函數(shù)支持是否保存文件路徑的格式) 1.3添加文件夾到zip文件中(此函數(shù)支持是否保存文件路徑的格式踊沸。)
Method:AddDirectory
public void AddDirectory(string dicPath,string zipPath,string dicPathInZip,ProcessChange changedDG)
var dicPath="E:\ReadyToAddDic";\\需要添加到壓縮包的文件夾路徑
var zipPath="E:\ZipFile.zip";\\壓縮包文件路徑
var dicPathInZip="ReadyToAddDic";\\需要壓縮到壓縮包內(nèi)的相對路徑,當前值指的是根目錄的ReadyToAddDic
handler.IsKeepPath=true;\\保存原路徑
handler.AddDirectory(dicPath, zipPath, dicPathInZip,(num) => { Debug.WriteLine("壓縮進度:" + num); });
2. 解壓
2.1 對壓縮包進行解壓社证。
Method:UnpackAll
public void UnpackAll(string zipFilePath, string unzipPath, ProcessChange changedDG)
var fromZip="E:\ZipTest.zip";\\需要解壓的壓縮文件路徑
var toDic="E:\ZipFile";\\解壓到的文件夾路徑
handler.UnpackAll(fromZip, toDic, (num) => { Debug.WriteLine("解壓進度:" + num); });
2.2 解壓壓縮包內(nèi)的指定文件逼龟。
Method:UnpackFile
public void UnpackFile(string zipFilePath,string unzipPath,string filePathInZip)
var fromZip="E:\ZipFile.zip";
var toDic="E:\UnZipTest";
handler.UnpackFile(fromZip, toDic, @"models/db.js");
2.3 解壓壓縮包內(nèi)的指定文件夾。
Method:UnpackDirectory
public void UnpackDirectory(string zipFilePath, string unzipPath, string DicPathInZip)
var fromZip="E:\ZipFile.zip";\\壓縮包文件路徑
var toDic="E:\UnZipTest";
var dicPathInZip="node_modules";
handler.IsKeepPath=true;\\保存原路徑
handler.UnpackDirectory(fromZip, toDic, dicPathInZip);