如何在C#中提取ZIP文件

问题描述:

如何使用C#提取ZIP文件?如何在C#中提取ZIP文件

+1

重复:/ /stackoverflow.com/questions/836736/unzip-files-programmatically-in-net – piers7 2014-07-07 13:04:03

DotNetZip

类库和工具用于处理zip文件。使用VB,C#或任何.NET语言轻松创建,提取或更新zip文件...

DotNetZip适用于具有完整.NET Framework的PC,也可在使用.NET Compact Framework的移动设备上运行。用VB,C#或任何.NET语言或任何脚本环境创建和读取zip文件。 DotNetZip支持以下场景:

  • 一个动态创建zip文件的Silverlight应用程序。
  • 动态创建ZIP文件,并允许浏览器的ASP.NET应用程序下载它们
  • 一个Windows服务,定期拉链了一个目录的备份和存档的目的
  • 一个WPF程序修改现有档案 - 重命名条目,从存档中删除条目或向存档添加新条目
  • Windows Forms应用程序可创建用于存档内容隐私的AES加密zip存档。
  • 解压缩或拉链的SSIS脚本
  • PowerShell或VBScript中用于执行备份和存档的管理脚本。
  • 接收一个zip文件作为附件,并动态地解包拉链到一个流用于分析的WCF服务
  • 一个老派ASP(VBScript)的应用程序,它经由用于DotNetZIp
  • COM接口产生的ZIP文件
  • Windows窗体应用程序,读取或更新ODS文件
  • 从流内容创建zip文件,保存到一个流,提取到一个流,从流
  • 创建自解压文件的阅读。

如果你只想要一个更好的DeflateStream或GZipStream类来代替内置于.NET BCL的类,DotNetZip也有这个功能。 DotNetZip的DeflateStream和GZipStream在独立程序集中可用,基于Zlib的.NET端口。这些流支持压缩级别并提供比内置类更好的性能。还有一个ZlibStream完成设置(RFC 1950年,1951年,1952年)......

乐趣

我推荐使用#ziplib库:http://www.icsharpcode.net/opensource/sharpziplib/
它的自由和开源。

+0

确定许可证后,他们添加了GPL异常。 – 2010-11-28 18:54:49

在.NET框架4.5和较新的HTTP的

using System; 
using System.IO; 
using System.IO.Compression; 

namespace ConsoleApplication 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string startPath = @"c:\example\start"; 
      string zipPath = @"c:\example\result.zip"; 
      string extractPath = @"c:\example\extract"; 

      ZipFile.CreateFromDirectory(startPath, zipPath); 

      ZipFile.ExtractToDirectory(zipPath, extractPath); 
     } 
    } 
} 
+1

.NET Framework 4.5 ...--) – itsho 2014-05-07 18:59:21