如何使用C#提取ZIP文件?
答案 0 :(得分:16)
在.NET Framework 4.5及更高版本中
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 :(得分:14)
用于操作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窗体应用程序,可为存档内容的隐私创建AES加密的zip存档。
- 解压缩或拉链的SSIS脚本
- PowerShell或VBScript中执行备份和存档的管理脚本。
- 一个WCF服务,它接收一个zip文件作为附件,并动态地将zip解包到流中进行分析
- 一个老式的ASP(VBScript)应用程序,它通过COM接口为DotNetZIp生成一个ZIP文件
- 读取或更新ODS文件的Windows窗体应用程序
- 从流内容创建zip文件,保存到流,提取到流,从流中读取
- 创建自解压档案。
如果您想要的是更好的DeflateStream或GZipStream类来替换.NET BCL内置的那个,DotNetZip也有。 DotNetZip的DeflateStream和GZipStream在基于Zlib的.NET端口的独立程序集中提供。这些流支持压缩级别,并提供比内置类更好的性能。还有一个ZlibStream来完成这个集合(RFC 1950,1951,1952)...
玩得开心
答案 2 :(得分:5)
我建议使用#ziplib库:http://www.icsharpcode.net/opensource/sharpziplib/其免费开源。