zoukankan      html  css  js  c++  java
  • 推荐一个操作Zip文件的开源类库:DotNetZip (转)

    DotNetZip 是一个短小易用的用来操作 zip 文件的 .NET 类库,支持.NET的任何语言,可很方便的创建,读取,和更新zip文件。而且还可以使用在.NETCompact Framework中。

    下面是一些简单的例子:

    1.加密压缩:

    using (ZipFile zip = new ZipFile())
    {
    zip.Password = sPassword; //set pwd
    zip.AddDirectory(sZipDir);
    zip.Save(sSavePath + @"\" + sSaveName);
    }

    2.向压缩文件中添加:

    using (ZipFile zip = new ZipFile("Backup.zip"))
    {
    zip.Password= "123456!";
    zip.AddFile("ReadMe.txt");
    zip.AddFile("7440-N49th.png");
    zip.AddFile("2005_Annual_Report.pdf");
    zip.Save();
    }
    

    3.解压缩到制定目录:

    using (ZipFile zip = ZipFile.Read("D:\\test\\2007.zip"))
    {
    foreach (ZipEntry e in zip)
    {
    Console.WriteLine("file name:{0}", e.FileName);
    Console.WriteLine(e.Comment);
    e.Extract("D:\\test\\pwdata", true);  // overwrite == true
    }
    }
    

    1.创建/更新压缩文件,zip文件存在则更新,不存在则创建

    //注意设置编码,默认中文件名会乱码
    using (ZipFile zip = new ZipFile(@"E:\test.zip", System.Text.Encoding.Default))
    {
        zip.AddDirectory(
    @"E:\test");//添加文件夹

        zip.AddFile(@"E:\房屋租赁协议.doc");//添加文件,文件不存在抛错FileNotFoundException
        zip.Save();
    }

     

    2.列出zip文件中所有的文件

    using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
    {
        
    string list = string
    .Empty;
        
    foreach (ZipEntry entry in
     zip)
        
    {
            list 
    += entry.FileName + "\r\n"
    ;
        }

        MessageBox.Show(list);
    }

     

    3.从zip文件中删除一个文件,注意无法直接删除一个文件夹

    using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
    {
        
    //zip["房屋租赁协议.doc"] = null;

        zip.RemoveEntry("房屋租赁协议.doc");
        zip.Save();
    }

     

    4.从zip文件中解压出一个文件

    using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
    {
        zip[
    "房屋租赁协议.doc"].Extract(@"E:\"true
    );
    }

     

    5.从zip文件中解压全部文件

    using (ZipFile zip = ZipFile.Read(@"E:\test.zip", System.Text.Encoding.Default))
    {
        
    foreach (ZipEntry entry in
     zip)
        
    {
            entry.Extract(
    @"E:\test_new"true
    );
        }

    }

     

    其他详细的使用请参考:http://www.codeplex.com/DotNetZip

    转自http://www.cnblogs.com/carysun/archive/2009/02/11/DotNetZip.html

  • 相关阅读:
    格式化Format使用
    ASP.NET几种清除页面缓存的方法
    repeater中分页aspnetpager是遇到的问题
    利用正则表达式去掉html代码
    ASP.NET母版页中调用内容页的方法和web用户控件调用.aspx页面里的方法
    PHP常用代码大全
    用 JA Transmenu 模块做多级弹出菜单
    简单的 "改变" joomla 后台administrator目录
    数据库设计中的14个技巧
    Joomla模板制作教程(转)
  • 原文地址:https://www.cnblogs.com/ceci/p/1404377.html
Copyright © 2011-2022 走看看