转自:http://www.mzwu.com/article.asp?id=1920
sharpZipLib是一个使用C#编写的Zip操作类库,在VB.NET、C#或其他的.NET语言中都可以使用它创建Zip文件、并进行读取和更新等操作。SharpZipLib目前的版本为0.85,下边通过几个例子来说明它的使用(使用前需引用命名空间ICSharpCode.SharpZipLib.Zip)。
官方站点: http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
1.创建zip文件
using (ZipFile zip = ZipFile.Create(@"E:\test.zip")) { zip.BeginUpdate(); //添加文件 zip.Add(@"E:\五笔打字法.txt"); zip.Add(@"E:\网站推广方法.txt"); //添加文件夹 //zip.AddDirectory不是将磁盘中的文件夹添加到压缩文件中 //此方法会遗漏空文件夹 string[] files = Directory.GetFiles(@"E:\Client", "*.*", SearchOption.AllDirectories); foreach (string f in files) zip.Add(f); zip.CommitUpdate(); }2.创建zip文件,只能压缩文件夹
(new FastZip()).CreateZip(@"E:\test.zip", @"E:\test\", true, "");3.添加一个文件到zip文件中
using (ZipFile zip = new ZipFile(@"E:\test.zip")) { zip.BeginUpdate(); zip.Add(@"E:\房屋租赁协议.doc"); zip.CommitUpdate(); }4.列出zip文件中所有的文件
using (ZipFile zip = new ZipFile(@"E:\test.zip")) { string list = string.Empty; foreach (ZipEntry entry in zip) { if(entry.IsFile)//entry有时为文件夹 list += entry.Name + "\r\n"; } MessageBox.Show(list); }5.删除zip文件中的一个文件
using (ZipFile zip = new ZipFile(@"E:\test.zip")) { zip.BeginUpdate(); zip.Delete(@"房屋租赁协议.doc"); zip.Delete(@"a\2.txt"); zip.CommitUpdate(); }6.解压zip文件中所有文件
(new FastZip()).ExtractZip(@"E:\test.zip", @"E:\mzwucom\", "");