IRONSOFTWAREHOME
USING IRONZIP

如何在 C# 中将文件解压到目录

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

解压缩文件 是软件开发中常见的任务,尤其是在处理压缩档案时。 在本文中,我们将探讨如何使用 C# 中的 IronZIP 库从 ZIP 档案中提取文件。

无论您是开发 Windows 应用程序还是 .NET 项目,理解解压缩文件的流程都是非常有价值的。 让我们深入学习如何在您的 C# 代码库中高效处理 ZIP 文件。

本文将解释以下内容:

  1. IronZIP 库的安装过程
  2. 如何提取 ZIP 档案
  3. 如何提取受密码保护的 ZIP 档案
  4. 如何创建 ZIP 文件
  5. 如何创建受密码保护的 ZIP 文件

为什么要解压文件?

ZIP 文件,也称为 ZIP 压缩档案,是将多个文件打包成单个压缩容器。 解压这些文件涉及提取压缩数据并将其恢复到原始状态。 当您需要在 C# 应用程序中访问或操作数据时,此过程至关重要。 IronZIP 通过提供简单的方法来管理压缩数据,从而简化了此任务。

什么是 IronZIP?

IronZIP 是一个强大的 C# ZIP 压缩档案库,可促进 .NET 应用程序中的创建读取提取档案。 无论您需要压缩文件、从现有档案中提取数据,还是管理您的 ZIP 文件,IronZIP 都提供了一个用户友好的 API 来高效完成这些任务。 IronZIP 简化了您在 .NET 应用程序中处理 ZIP 档案的工作。

它支持各种档案格式,包括 ZIP、TAR、GZIP 和 BZIP2。IronZIP 是跨平台的,兼容 .NET Core、.NET Standard 和 .NET Framework。 并且它提供高级功能,如受密码保护的档案、可定制的压缩级别和文件条目管理。

How to Extract Files to a Directory in C#

现在,我将讨论一些在 C# 中从 ZIP 文件提取的示例。 首先在 Visual Studio 中创建一个新的 C# 项目。 选择合适的项目类型(例如,控制台应用程序、Windows 窗体、ASP.NET Core 等)。 接下来,我们需要安装IronZIP NuGet 包

通过 NuGet 包管理器安装 IronZIP

要安装 IronZIP NuGet 包,您可以在包管理器控制台中使用以下命令:

PM > Install-Package IronZip

或者,您可以使用 Visual Studio 中的包管理器 UI 搜索并安装 IronZIP 包。

在您的C#代码中,导入IronZIP命名空间以访问其类和方法。

using IronZip;

Code Example to Extract ZIP files in C#

以下代码将在 C# 中将文件解压缩到指定目录。

// This line extracts the "Images.zip" archive to the "Extracted Images" directory
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");

上述代码读取指定的ZIP文件("Extracted Images"的目录中。

解释

IronZipArchive 是IronZIP库提供的类。 它是您在 C# 代码中处理 ZIP 档案的主要入口点。 ExtractArchiveToDirectory(...)IronZipArchive类提供的方法(或函数)。 它允许您将ZIP存档的内容(在本例中为文件"Extracted Images"的目录)。

该方法包含两个参数:

  1. 第一个参数(@"E:\Images.zip")是您想要提取的ZIP文件的路径。
  2. 第二个参数("Extracted Images")是您要从ZIP存档中提取文件的目录。

输出:

如何在C#中将文件解压到目录:图1 - 提取到提取图像目录中的文件

如何提取受密码保护的 ZIP 文件

IronZIP 提供了一种简单的方法来提取加密 ZIP文件。 以下代码演示了如何从受密码保护的 ZIP 文件中提取所有文件。

// This line extracts the "EncryptedImages.zip" archive to the "ExtractedImages" directory with the given password
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");

上述代码使用IronZIP将"zipP@55w0rd",表明ZIP文件已加密,提取时需要提供的密码。 它将覆盖现有文件。

输出:

如何在C#中将文件解压到目录:图2 - 提取到提取图像目录中的加密文件

在C#中使用IronZIP将文件解压到目录涉及充分利用IronZIP库的功能。通过使用像IronZipArchive.ExtractArchiveToDirectory这样的函数,开发人员可以轻松提取压缩文件,提供了一种处理本地文件头的简单机制。 它为在其应用程序中更新 zip 文件和 RAR 文件提供了高效方式。

IronZIP 还提供方法在 C# 和 .NET 应用程序中创建 ZIP 文件。 让我们在 C# 中创建一个 ZIP 压缩档案。

如何创建 ZIP 压缩档案

以下代码示例将创建一个 ZIP 压缩档案。

static void Main(string[] args)
{
    // Create a new ZIP archive with a high compression level (9)
    using (var archive = new IronZipArchive(9))
    {
        // Add image files to the archive
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        
        // Export the ZIP archive to the file "MyImages.zip"
        archive.SaveAs("MyImages.zip");
    }
}

上述代码演示了使用IronZIP创建一个新的ZIP存档(压缩级别为9)并添加多个条目,每个条目代表从指定文件路径的图像文件(image4.png)。

最后,使用"MyImages.zip"导出到指定目录中。 压缩等级 9 表示最大压缩,导致文件尺寸更小但处理时间可能更长。

如何在C#中将文件解压到目录:图3 - 上一个代码输出的ZIP存档

如何创建受密码保护的 ZIP 压缩档案

以下代码将创建一个受密码保护的 ZIP 文件。

// Create a new ZIP archive with a high compression level (9)
using (var archive = new IronZipArchive(9))
{
    // Password protect the ZIP archive (Support AES128 & AES256)
    archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
    
    // Add image files to the archive
    archive.Add(@"E:\Images\image1.png");
    archive.Add(@"E:\Images\image2.png");

    // Export the ZIP archive as "PasswordProtectedImages.zip"
    archive.SaveAs("PasswordProtectedImages.zip");
}

上述代码演示了使用 IronZIP 创建一个使用指定加密方法(在此为 AES256)的受密码保护的 ZIP 压缩档案。 设置密码image2.png)到存档中。

最后,利用"PasswordProtectedImages.zip."。 这确保了通过指定的密码和加密方法保护内容的安全性。 IronZIP 支持 AES128、AES256 和传统方法。

结论

总而言之,本文已涵盖了使用 IronZIP 库以编程方式处理 C# 中压缩文件的基本方面。 从安装过程到提取、创建和保护 ZIP 压缩档案的实际示例,开发人员获取了有价值的见解。 IronZIP 的用户友好型 API、跨平台兼容性以及对加密方法的支持使其成为在各种 C# 应用程序中高效管理 ZIP 文件的多功能解决方案。

无论是更新现有文件还是处理受密码保护的档案,IronZIP 都简化了流程,为开发人员在其 C# 项目中寻求有效文件操作能力提供了强大的工具集。

IronZIP 提供灵活的许可选项,包括免费试用以供长期使用。 开发人员可以选择最适合其项目需求的许可模式,从而在其 C# 应用程序中实现 IronZIP 时确保多样性和便利性。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户