C#使用SharpZipLib压缩解压文件

Hellens ·
更新时间:2024-11-14
· 1984 次阅读

一、介绍

SharpZipLib是一个完全由C#编写的ZIP,GZIP,Tar和BZIP2 Library,可以方便的支持这几种格式的压缩和解压缩。

https://github.com/icsharpcode/SharpZipLib 下载解压SharpZipLib ,将 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\", ""); 三、 常用类

ZipInputStream、GZipInputStream用于解压缩Deflate、GZip格式流,

ZipOutputStream、GZipOutputStream用于压缩Deflate、GZip格式流。

StreamUtil类包含了几个Stream处理辅助方法:

1) Copy(Stream, Stream, Byte[])用于从一个Stream对象中复制数据到另一Stream对象。有多个重写。

2) ReadFully(Stream, Byte [])用于从Stream对象中读取所有的byte数据。有多个重写。

到此这篇关于C#使用SharpZipLib压缩解压文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持软件开发网。



C# 解压

需要 登录 后方可回复, 如果你还没有账号请 注册新账号