惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
WordPress大学
WordPress大学
D
DataBreaches.Net
腾讯CDC
小众软件
小众软件
B
Blog RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Y
Y Combinator Blog
V
V2EX
I
InfoQ
D
Docker
量子位
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
A
About on SuperTechFans
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - 乐逍遥

对微软开发工具的看法 56度烟台社区 301跳转与URL转发 windows phone7 开发(Windows Phone 7 Emulator常用快捷键) Silverlight版本的微博工具 微博工具 - 乐逍遥 - 博客园 table 划线 给treeview递归增加菜单 vs2005启动时候的新闻网址 c# 操作word 用c#操作Excell 数据库设计(六)概念数据模型 数据库设计(五)概念数据模型 数据库设计(四)概念数据模型 数据库设计(三)概念数据模型 数据库设计(二)概念数据模型 数据库设计系列(一)概念数据模型 电子邮件Mailto的一些参数用法 OutLook编程
压缩文件
乐逍遥 · 2007-11-01 · via 博客园 - 乐逍遥

1.引用ICSharpCode.SharpZipLib.dll组件
2.

/// <summary>
  /// 将指定的文件打入包中
  /// </summary>
  /// <param name="l_sZipFile">压缩生成文件</param>
  /// <param name="l_sWaitZipFile">待压缩文件</param>
  /// <param name="blnDelWaitFile">是否删除待压缩文件</param>
  /// <param name="sPassWord">压缩文件口令,为“”不用口令</param>
  public static void ZipFile(string l_sZipFile,string[] l_sWaitZipFile,bool blnDelWaitFile,string sPassWord)
  {
   
   System.IO.FileStream myFileStream = new System.IO.FileStream(l_sZipFile, System.IO.FileMode.Create);    
   ICSharpCode.SharpZipLib.Zip.ZipOutputStream zos=new ZipOutputStream(myFileStream);

   if(sPassWord.Length>0)
   {
    zos.Password=sPassWord;
   }
   
   FileStream myFileStream1;
   for(int i=0;i<l_sWaitZipFile.Length;i++)
   {
    if (!System.IO.File.Exists(l_sWaitZipFile[i])) continue;

    myFileStream1=new FileStream( l_sWaitZipFile[i],System.IO.FileMode.Open);

    byte[] buffer = new byte[myFileStream1.Length];
    myFileStream1.Read(buffer, 0, buffer.Length);
    ZipEntry entry = new ZipEntry(Path.GetFileName(l_sWaitZipFile[i]));
    zos.PutNextEntry(entry);

    zos.Write(buffer, 0, buffer.Length);
    myFileStream1.Close();

    if(blnDelWaitFile)
    {
     File.Delete( l_sWaitZipFile[i]);
    }
   
   }
   zos.Close();    
    
   myFileStream.Close();
  
  }