C#中中ZipHelper 压缩和解压帮助类压缩和解压帮助类
关于本文档的说明关于本文档的说明
本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的
欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利。
本人自从几年前走上编程之路,一直致力于收集和总结出好用的框架和通用类库,不管是微软自己的还是第三方的只要实际项目中好用且可以解决实际问题那都会收集好,编写好文章和别人一起分
享,这样自己学到了,别人也能学到知识,当今社会很需要知识的搬运工。
1.基本介绍基本介绍
由于项目中需要用到各种压缩将文件进行压缩下载,减少网络的带宽,所以压缩是一个非常常见的功能,对于压缩微软自己也提供了一些类库
微软自带压缩类ZipArchive类,适合NET FrameWork4.5才可以使用
调用压缩软件命令执行压缩动作,这个就需要电脑本身安装压缩软件了
使用第三方的压缩dll文件,一般使用最多的是(ICSharpCode.SharpZipLib.dll),下载dll ICSharpCode.SharpZipLib.zip
2.实际项目实际项目
压缩单个文件,需要指定压缩等级
压缩单个文件夹,需要指定压缩等级
压缩多个文件或者多个文件夹
对压缩包进行加密【用的较少,实际情况也有】
2.1 压缩单个文件压缩单个文件
写了两个方法,可以指定压缩等级,这样你的压缩包大小就不一样了
2.2 压缩单个文件夹压缩单个文件夹
代码如下:
public void ZipDir(string dirToZip, string zipedFileName, int compressionLevel = 9)
2.3 压缩多个文件或者文件夹
代码如下:
public bool ZipManyFilesOrDictorys(IEnumerable<string> folderOrFileList, string zipedFile, string password)
2.4 对压缩包进行加密
代码如下:
public bool ZipManyFilesOrDictorys(IEnumerable<string> folderOrFileList, string zipedFile, string password)
2.5 直接解压,无需密码
public void UnZip(string zipFilePath, string unZipDir)
3.演示图