首页 > 其他 > 详细

SharpZipLib 文件/文件夹压缩

时间:2014-01-18 18:52:11      阅读:531      评论:0      收藏:0      [点我收藏+]

一、ZipFile

  ZipFile类用于选择文件或文件夹进行压缩生成压缩包。

  常用属性:

属性 说明
Count 文件数目(注意是在ComitUpdat之后才有)
Password 压缩包密码
Size 压缩包占用空间大小
Name 压缩包名称,默认输出是文件路径
ZipEntry 压缩包里的文件,通过索引[]访问

  其常用方法如下:

方法 说明
Add 添加要进行压缩的文件
AddDirectory 添加文件夹(不会压缩文件夹里的文件)
Delete 删除文件或文件夹
BeginUpdate 开始修改压缩包
CommitUpdate 提交修改
SetComment 添加注释

  示例1(创建压缩文件):

bubuko.com,布布扣
  using (ZipFile zip = ZipFile.Create(@"D:\test.zip"))
    {
          zip.BeginUpdate();
      zip.SetComment("这是我的压缩包"); zip.Add(
@"D:\1.txt"); //添加一个文件 zip.AddDirectory(@"D:\2"); //添加一个文件夹(这个方法不会压缩文件夹里的文件) zip.Add(@"D:\2\2.txt"); //添加文件夹里的文件 zip.CommitUpdate(); }
bubuko.com,布布扣

  这样生成的压缩包是包含子文件夹,子文件夹也是包含子文件的。

  其中,注释如下:

  bubuko.com,布布扣

  示例2:修改压缩包

  using (ZipFile zip = new ZipFile(@"D:\test.zip"))
      {
          zip.BeginUpdate();
          zip.Add(@"D:\2.txt");
          zip.CommitUpdate();
      }

  留意这个示例和上面的有什么不同,上面的是Create方法创建的ZipFile对象,而这里是直接读。因此,如果压缩包里面有文件,则不会改动原来的压缩文件,而是往会里面添加一个。这样就相当于压缩包的修改,而上面是压缩包的创建。

  示例3:读取压缩包里的文件:

bubuko.com,布布扣
  using (ZipFile zip = new ZipFile(@"D:\test.zip"))
      {
          foreach (ZipEntry z in zip)
          {
              Console.WriteLine(z);
          }
          ZipEntry z1 = zip[0];
          Console.WriteLine(z1.Name);
     }
bubuko.com,布布扣

二、FastZip

  这个类就两个方法:

方法 说明
CreateZip 压缩目录
ExtractZip 解压缩目录

  

  1、FastZip用于快速压缩目录,示例如下:

//快速压缩目录,包括目录下的所有文件
(new FastZip()).CreateZip(@"D:\test.zip", @"D:\test\", true, "");

  这个是递归压缩的。但是局限性就是只能压缩文件夹。

  否则报如下错误:

  bubuko.com,布布扣

  2、快速解压缩目录

//快速解压
(new FastZip()).ExtractZip(@"D:\test.zip", @"D:\解压目录\", "");

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  框架地址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

SharpZipLib 文件/文件夹压缩

原文:http://www.cnblogs.com/kissdodog/p/3525295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!