SharpZipLib使用示例

转自: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\", "");

注意:SharpZipLib只能解压zip格式文件,若解压rar文件,将出错:Cannot find central directory。

你可能感兴趣的:(SharpZipLib使用示例)