SharpZipLib 的使用(压缩,解压)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

SharpZipLib 是一个免费的Zip操作类库,可以利用它对 ZIP 等多种格式进行压缩与解压。

下载网址 前的版本为0.86。

1、创建zip文件,并添加文件:

using (ZipFile zip = ZipFile.Create(@"E:\test.zip")) 
{ 
    zip.BeginUpdate(); 
    zip.Add(@"E:\文件1.txt"); 
    zip.Add(@"E:\文件2.txt"); 
    zip.CommitUpdate(); 
} 
2、将文件夹压缩为文件
(new FastZip()).CreateZip(@"E:\test.zip", @"E:\test\", true, "");

最后一个参数是使用正则表达式表示的过滤文件规则。CreateZip方法有3个重载版本,其中有目录过滤参数、文件过滤参数及用于指定是否进行子目录递归的一个bool类型的参数。

3、将文件添加到已有zip文件中

using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
    zip.BeginUpdate();
    zip.Add(@"E:\test.doc");
    zip.CommitUpdate();
}
4、列出zip文件中文件

using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
    string list = string.Empty;
    foreach (ZipEntry entry in zip)
    {
        list += entry.Name + "\r\n";
    }
    MessageBox.Show(list);
}
5、删除zip文件中的一个文件

using (ZipFile zip = new ZipFile(@"E:\test.zip"))
{
    zip.BeginUpdate();
    zip.Delete(@"test.doc");
    zip.Delete(@"test22.txt");
    zip.CommitUpdate();
}
  6、解压zip文件中文件到指定目录下

(new FastZip()).ExtractZip(@"E:\test.zip", @"E:\test\", "");

7、常用类

ZipInputStream、GZipInputStream用于解压缩Deflate、GZip格式流,ZipOutputStream、GZipOutputStream用于压缩Deflate、GZip格式流。
StreamUtil类包含了几个Stream处理辅助方法:
  1) Copy(Stream, Stream, Byte[])用于从一个Stream对象中复制数据到另一Stream对象。有多个重写。
  2) ReadFully(Stream, Byte [])用于从Stream对象中读取所有的byte数据。有多个重写。





SharpZipLib实现整个目录压缩(i.e: 在压缩文件中生成存放目录)【从.Net4.5开始用自带的ZipFile.CreateFromDirectory即可轻松实现】 从.Net 4.5开始的项目中,我们可以在引入 System.IO.Compression 和 System.IO.Compression.FileSystem (使用静态类ZipFile必需引入) 程序集的情况用以下静态方法很容易实现对整个目录的压缩:ZipFile.CreateFromDirectory //注意需引入System.IO.Compression.FileSystem程序集。 阅读详情

相关推荐

Unity 工具 之 (SharpZipLib) 实现文件Zip的压缩解压((可代密码)可一次压缩多个文件/文件夹)

Unity 工具 之 (SharpZipLib) 实现文件Zip的压缩解压(可压缩多个文件) 一、简单介绍 Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。 使用SharpZipLib库,下载地址为:http://icsharpcode.github.io/SharpZipLib/ ...

仙魁XAN 1万+

C#压缩帮助类(SharpZipLib

一、SharpZipLib官网 NuGet Gallery | SharpZipLib 1.3.2 二、压缩帮助类 /*** * Title:"基础工具" 项目 * Title:"基础工具" 项目 * 主题:压缩包帮助类 * Description: * 功能: * 1、压缩单个文件 * 2、压缩多个文件 * 3、压缩多层目录 * 4、递归遍历目录 * 5、解压缩一个 zip 文件 * 6、获取压缩文件中指定类型的文件 * .

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 3510

C#使用ICSharpCode.SharpZipLib解压压缩ZIP文件

因为网上代码很多,本来是不打算贴代码的,但我在使用网上的代码时各种坑,比如解压时的目录和压缩包的根本不一致,压缩的文件在压缩包里面相对路径也不对,使用还是在这边贴了代码。

m0_48365841的博客 2948

C#之SharpZipLib 解压缩工具类

SharpZipLib(#ziplib,以前称为NZipLib)是一个完全用C#编写的用于Zip、GZip、BZip2和Tar的压缩库,适用于.NET。它被实现为一个程序集(可安装到GAC中),因此可以轻松地集成到其他项目中(任何.NET语言)。

rjcql的专栏 1047

ICSharpCode.SharpZipLib压缩解压

<br /> <br />一、使用ICSharpCode.SharpZipLib.dll;  <br />  下载地址  <br />  http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx  <br /> <br />二、基于(ICSharpCode.SharpZipLib.dll)的文件压缩方法,类文件<br />压缩文件<br /> using System;  using System.IO;  using System.Co

wjbaiverson的专栏 2万+

使用SharpZipLib压缩解压文件

using ICSharpCode.SharpZipLib.Zip; using System; using System.Collections.Generic; using System.IO; namespace Zhong.Core { /// <summary> /// 压缩解压操作类,使用的是SharpZipLib ...

199

如何在 C# 中用 SharpZipLib 进行 ZIP 压缩解压

 SharpZipLib 是一个免费的组件,可以利用它对 ZIP 等多种格式进行压缩解压。本地下载 SharpZipLib 0.85.4; 本地下载 SharpZipLib 0.85.4 源文件与示例; 本地下载 SharpZipLib 0.85.4 帮助。或者您也可以到官方网站下载最新版本:http://www.icsharpcode.net/OpenSource/Sh

jiangxinyu的专栏 3776

C# ICSharpCode.SharpZipLib 压缩解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式。我们需要dll 在官网上也有。 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件、文件夹的压缩解压 先给大家看一下效果: ...

akjw008的专栏 9531

ICSharpCode.SharpZipLib 压缩解压文件

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式 我们需要dll 在官网上也有,也可以从百度网盘下载 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件、文件夹的压缩解压 先给大家看一下效果: 一、引入ICSharpCode.SharpZipLib 我们新建个帮助类 ZipHelper.cs 然后 添加 dll

flyshown的博客 772

C# 基于SharpZipLib 实现 文件压缩,以及解压

//压缩文件 public static void Zip(string srcFile, string dstFile, int bufferSize) { //创建压缩文件路径 using (FileStream fileStreamOut = new FileStream(dstFile, FileMode.Cr

hao448609471的专栏 692

C#压缩解压缩类库项目SharpZipLib实战指南.zip

SharpZipLib是.NET开发社区中广泛使用的一个开源库,用于文件压缩解压缩。它最初是由Mike Krueger创建,并被移植到.NET平台,以支持C#和VB.NET等语言。SharpZipLib是基于著名的Java库“Zlib”创建的,它能够处理ZIP和GZIP格式,并且可以被扩展到支持更多种类的压缩算法。该库具有几个显著的特点:首先,它完全用C#编写,与.NET框架无缝集成;其次,SharpZipLib是免费的,发布于MIT许可证下,这让它适合用于商业和非商业项目;

weixin_35649491的博客 1045

【随笔系列】C#使用第三方SharpZipLib进行压缩解压文件

近在做项目时用到了文件的批量压缩下载,使用了第三方的SharpZipLib包,后来想到了单个文件的压缩解压,可能以后会用到相关技术,所以自己熟悉了一下并且借鉴了一些网上的相关代码,自己整理一下,这里我用到的是SharpZipLib 1.0.0版本,这里我新建一个控制台项目来展示。 一:创建项目并安装所需DLL 1、新建控制台项目ConsoleCompressApp 2、...

1097

SharpZipLib压缩解压使用

  项目中使用Velocity将模板和生成的动态内容(HTML、XML等)合并保存到redis数据库中,考虑到压缩的文件容量会比较小,方便传输而且存储所使用的空间也会比较小,所以要压缩一下,读取的时候也要解压,所以就用到了SharpZipLibSharpZipLib是一个完全用c#为. net平台编写的Zip、GZip、Tar和BZip2库。官网代码下载https://github.com/...

weixin_30770495的博客 556

C#工具类:使用SharpZipLib进行压缩解压文件

SharpZipLib是一个开源的C#压缩解压库,应用非常广泛。就像用ADO.NET操作数据库要打开连接、执行命令、关闭连接等多个步骤一样,用SharpZipLib进行压缩解压也需要多个步骤。SharpZipLib功能比较强大,在很多C#的应用中,都有它的身影,我们可以通过引入SharpZipLib类库文件,在程序中实现自动压缩文件以及解压缩文件的功能,例如一个常见的情景就是用户客户端程序下载更...

weixin_33812433的博客 451

Windows c# 使用ICSharpCode.SharpZipLib压缩解压zip

1、下载并导入ICSharpCode.SharpZipLib包,不会下载的同学可以参考https://blog.csdn.net/qq_37243144/article/details/107357638 2、新建ZIpHelper帮助类 using System; using System.IO; using ICSharpCode.SharpZipLib.Zip; namespace Util { class ZipHelper { #region [压缩文.

qq_37243144的博客 997

SharpZipLib压缩中文文件,解压后文件名乱码

在英文版的操作系统中,调用SharpZipLib的FastZip压缩一个中文名的文件,生成的.zip文件不能解压缩,一打开就提示错误,并且发现压缩包中中文文件名变成了"?????????"或"_______"。 操作系统:windows server 2003 英文版 安装了东亚字体,Region and Language Options是系统默认设置 程序集:ICSharpCode...

weixin_30596023的博客 1197

.Net 下利用ICSharpCode.SharpZipLib.dll实现文件、文件夹压缩解压

添加引用ICSharpCode.SharpZipLib.dll using System; using System.Collections.Generic; using System.IO; using System.Threading; using ICSharpCode.SharpZipLib.Zip; namespace Lib { /// /// 文件压缩解压

polarissky的专栏 6438

使用ICSharpCode.SharpZipLib压缩解压

【代码】使用ICSharpCode.SharpZipLib压缩解压

潘达小新 749
上一篇: [数据库]Bulk Insert命令详细
下一篇: C#解析JSON字符串总结
CatchMe_439
博客等级 码龄10年 31粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值