如何在 C# 中提取 ZIP 文件

发布于 2024-10-04 10:05:33 字数 25 浏览 6 评论 0原文

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

How can I extract a ZIP file using C#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一世旳自豪 2024-10-11 10:05:33

在 .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);
        }
    }
}

in .NET Framework 4.5 and newer

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);
        }
    }
}
堇色安年 2024-10-11 10:05:33

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 窗体应用,可创建 AES 加密的 zip 存档以保护存档内容的隐私。
  • 用于解压或压缩的 SSIS 脚本
  • PowerShell 或 VBScript 中执行备份和存档的管理脚本。
  • WCF 服务,接收 zip 文件作为附件,并将 zip 动态解压到流中进行分析
  • 一个老式的 ASP (VBScript) 应用程序,通过 DotNetZIp 的 COM 接口生成 ZIP 文件
  • 读取或更新 ODS 文件的 Windows 窗体应用
  • 从流内容创建 zip 文件、保存到流、提取到流、从流读取
  • 创建自解压档案。

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

玩得开心

DotNetZip:

class library and toolset for manipulating zip files. Use VB, C# or any .NET language to easily create, extract, or update zip files...

DotNetZip works on PCs with the full .NET Framework, and also runs on mobile devices that use the .NET Compact Framework. Create and read zip files in VB, C#, or any .NET language, or any scripting environment. DotNetZip supports these scenarios:

  • a Silverlight app that dynamically creates zip files.
  • an ASP.NET app that dynamically creates ZIP files and allows a browser to download them
  • a Windows Service that periodically zips up a directory for backup and archival purposes
  • a WPF program that modifies existing archives - renaming entries, removing entries from an archive, or adding new entries to an archive
  • a Windows Forms app that creates AES-encrypted zip archives for privacy of archived content.
  • a SSIS script that unzips or zips
  • An administrative script in PowerShell or VBScript that performs backup and archival.
  • a WCF service that receives a zip file as an attachment, and dynamically unpacks the zip to a stream for analysis
  • an old-school ASP (VBScript) application that produces a ZIP file via the COM interface for DotNetZIp
  • a Windows Forms app that reads or updates ODS files
  • creating zip files from stream content, saving to a stream, extracting to a stream, reading from a stream
  • creation of self-extracting archives.

If all you want is a better DeflateStream or GZipStream class to replace the one that is built-into the .NET BCL, DotNetZip has that, too. DotNetZip's DeflateStream and GZipStream are available in a standalone assembly, based on a .NET port of Zlib. These streams support compression levels and deliver much better performance than the built-in classes. There is also a ZlibStream to complete the set (RFC 1950, 1951, 1952)...

have fun

早茶月光 2024-10-11 10:05:33

I recommend using the #ziplib library : http://www.icsharpcode.net/opensource/sharpziplib/
Its free and open source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文