Fork me on GitHub

插件帮助文档 --- ShareZipLib

 

官方网站:

http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx

 

 

插件描述:

SharpZipLib是一个完全由c#编写的Zip, GZip, Tar and BZip2 library,可以方便地支持这几种格式的压缩解压缩,SharpZipLib的许可是经过修改的GPL,底线是允许用在不开源商业软件中,意思就是免费使用。

 

 

说明:

《神州医师网》项目中使用,因为对方需求中有1个近40M的Excel需要上传,而其压缩后不到2M。所以上传压缩文件后解压再使用,更方便。

 

 

插件使用:

一、在ThinksKing的Plugins里面找到已经解压好的SharpZipLib,使用net-20文件夹中的ICSharpCode.SharpZipLib.dll。添加至项目引用中。

二、操作指南:

1.1          创建zip文件,并添加文件:

using (ZipFile zip = ZipFile.Create(@"E:\test.zip"))

{

    zip.BeginUpdate();

    zip.Add(@"E:\文件1.txt");

    zip.Add(@"E:\文件2.txt");

    zip.CommitUpdate();

}

 

1.2          将文件夹压缩为文件

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

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

 

1.3          将文件添加到已有zip文件中

using (ZipFile zip = new ZipFile(@"E:\test.zip"))

{

    zip.BeginUpdate();

    zip.Add(@"E:\test.doc");

    zip.CommitUpdate();

}

 

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

}

 

1.5          删除zip文件中的一个文件

using (ZipFile zip = new ZipFile(@"E:\test.zip"))

{

    zip.BeginUpdate();

    zip.Delete(@"test.doc");

    zip.Delete(@"test22.txt");

    zip.CommitUpdate();

}

 

1.6          解压zip文件中文件到指定目录下

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

 

1.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中有SharpZipLib_0860.chm官方帮助文档。

posted @   idoku  阅读(1329)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示