.NET 压缩解压库发布,支持进度查看

闪电
闪电
闪电
57
文章
0
评论
2020年4月27日14:56:43 评论 60

发布了一个 .net压缩解压库,基于SharpZipLib开发 ,支持进度查看,支持路径保持与否。
[CL.IO.Zip]() 是一个基于SharpZipLib的一个压缩和解压的类库,提供给用户在.net环境下使用(VB.NET,C#..等等)

当前最新版本为:V1.1.0
github地址:https://github.com/Jarvin-Guan/CL.IO.Zip    标个星
百度网盘下载地址:https://pan.baidu.com/s/1qWwZ0LI

欢迎各位自由下载源码,自由使用。
 

CL.IO.Zip

    CL.IO.Zip 是一个基于SharpZipLib的一个压缩和解压的类库,提供给用户在.net环境下使用(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文件中此函数支持是否保存文件路径的格式)    1.3添加文件夹到zip文件中(此函数支持是否保存文件路径的格式。)

# 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";\\需要压缩到压缩包内的相对路径,当前值指的是根目录的ReadyToAddDic

    handler.IsKeepPath=true;\\保存原路径

    handler.AddDirectory(dicPath, zipPath, dicPathInZip,(num) => { Debug.WriteLine("压缩进度:" + num); }); 
  1. 解压
    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 解压压缩包内的指定文件。

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 解压压缩包内的指定文件夹。

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);

继续阅读
weinxin
我的微信
微信扫一扫
闪电
  • 本文由 发表于 2020年4月27日14:56:43
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
WPF如何用TreeView制作好友列表、播放列表 .NET

WPF如何用TreeView制作好友列表、播放列表

前言   TreeView这个控件对于我来说是用得比较多的,以前做的小聊天软件(好友列表)、音乐播放器(播放列表)、类库展示器(树形类结构)等都用的是TreeView,下面以一个好友列表为例,说明一下...
WPF多线程UI更新——两种方法 .NET

WPF多线程UI更新——两种方法

前言     在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象。)这是很常见的一个错误...
WPF 蒙罩层 LoadingPage .NET

WPF 蒙罩层 LoadingPage

前言   无论是在PC客户端,移动端,网站,在遇到长时间处理的时候都会需要用到蒙罩层,让用户有更好的体现。今天上网逛了一下各位前辈网友的蒙罩层的实现方式,觉得有很多都搞复杂了(利用前台代码+后台代码+...
.NET在EF中使用sql,用动态类吧! .NET

.NET在EF中使用sql,用动态类吧!

前言   在.NET中使用Entity Framework能快速、方便地结合LINQ来对数据库进行一系列的增删改查操作。但是由于EF根据表达式最后生成通用的sql来执行,进行具体的数据库操作。根据本人...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: