官方网站: http://www./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官方帮助文档。 原文链接:https://www.cnblogs.com/kulong995/articles/2352873.html |
|
来自: 新用户53962965 > 《文件夹1》