使用IRONZIP

如何在C# Windows应用程序中提取ZIP文件

查克尼特·宾
查克尼特·宾
2024年一月27日
分享:

ZIP 文件能够将大量文件压缩成一个较小的文件包,因此已成为数据存储和传输不可或缺的一部分。 它们为高效地组织、共享和传输文件提供了一种便捷的方式。 从 ZIP 文件中提取内容是各类应用中的常见任务,开发人员必须理解该过程,以增强用户体验并在 C# ZIP 提取中简化数据管理。

ZIP 文件在计算机领域被广泛使用有几个原因。 首先,这些工具可以将多个文件压缩成一个文件归档,从而减少存储空间,加快数据传输。

此外,ZIP 文件是打包分发文件的便捷方式,可确保所有相关文件都捆绑在一起。 当用户需要访问归档文件中仍然包含的所有文件的原始版本时,解压缩现有的 ZIP 文件至关重要。

在本文中,我们将重点创建一个 C# Windows 应用程序,该应用程序可以使用 IronZIP 库 提取压缩文件。 我们将指导您在 Visual Studio 中设置一个新的 Windows 应用程序,安装 IronZIP,设计一个浏览和选择单个 ZIP 文件的表单,最后使用 IronZIP 的方法实现文件提取功能。

如何在 C# Windows 应用程序中提取 ZIP 文件

  1. 在 Visual Studio 中创建一个新的 C# Windows 应用程序项目。

  2. 使用 NuGet 包管理器安装 C# ZIP 提取库 IronZIP。

  3. 设计表单,添加按钮、文本字段和标签。

  4. 使用openFileDialog对象获取ZIP文件的路径。

  5. 使用ExtractArchiveToDirectory方法从ZIP文件中提取内容并将其保存到目标文件夹。

2.介绍 C# 中的 IronZIP;

IronZIP 是一个多功能且功能丰富的C#库,为开发人员提供了与ZIP文件无缝协作的工具。 它为创建、提取和操作 ZIP 压缩文件提供了一套全面的功能,是希望通过 ZIP 文件支持来增强其应用程序的开发人员的绝佳选择。 IronZIP 以其简单、灵活和性能著称,是许多 C# 开发人员首选的 ZIP 文件操作工具。

3.在 Visual Studio 中创建新的 Windows 应用程序

要开始,请打开Visual Studio,并创建一个新的 Windows 窗体应用程序项目。

  1. 打开 Visual Studio:首先在您的计算机上启动 Visual Studio。

  2. 创建新项目:打开 Visual Studio 后,选择创建新项目的选项。

  3. 选择 Windows 窗体应用程序: 在新项目对话框中,选择“Windows 窗体应用程序”模板。 该模板将作为我们的 ZIP 文件提取应用程序的起点。

  4. 设置项目名称:给您的项目起一个有意义且具有描述性的名称,以反映其用途。 这将有助于您有效地识别和管理您的项目。

  5. 选择目标框架: 确保为您的应用程序选择适当的目标框架。 这种选择取决于项目的兼容性要求。

  6. 完成并创建:根据您使用的 Visual Studio 版本,通过点击“创建”或“完成”按钮来完成项目创建过程。

4.安装 IronZIP

在深入学习代码之前,您需要安装 IronZIP 库。 您可以通过在 Visual Studio 中使用NuGet 包管理器轻松完成此操作。 打开软件包管理器控制台并运行以下命令:

Install-Package IronZip

该命令将下载并安装 IronZIP 库,以及与项目无缝集成所需的任何依赖项。

5.设计 ZIP 文件提取表单

接下来,设计一个简单的 Windows 窗体,作为 ZIP 文件提取应用程序的用户界面。 添加控件,如触发提取过程的按钮和允许用户浏览和选择要提取的 ZIP 文件的文件对话框。

如何在C# Windows应用程序中提取ZIP文件:图1 - 一个用于从ZIP文件中提取的Windows表单示例

5.1.构建 ZIP 文件的浏览和选择

在表单的构造函数中,初始化控件并为按钮点击和文件对话框设置事件处理程序:

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.Title = "Select a File";
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        // Display the selected file path in a TextBox or perform any other action
        textBox1.Text = openFileDialog.FileName;
    }
}
private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.Title = "Select a File";
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        // Display the selected file path in a TextBox or perform any other action
        textBox1.Text = openFileDialog.FileName;
    }
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim openFileDialog As New OpenFileDialog()
	openFileDialog.Title = "Select a File"
	If openFileDialog.ShowDialog() = DialogResult.OK Then
		' Display the selected file path in a TextBox or perform any other action
		textBox1.Text = openFileDialog.FileName
	End If
End Sub
$vbLabelText   $csharpLabel

这段 C# 代码定义了一个方法button1_Click,当 Windows Forms 应用程序中的按钮“Browse”被点击时触发。 在方法内部,创建并配置了一个新的OpenFileDialog,标题为“选择文件”。然后使用ShowDialog方法向用户显示文件对话框。

如果用户选择了一个文件并点击“确定”,则使用openFileDialog.FileName检索所选文件的文件路径。 随后,获取的文件路径被分配给名为textBox1的文本框。

5.2.实现提取逻辑

现在,让我们编写按钮单击事件的代码,该事件将启动使用 IronZIP 提取 ZIP 文件的过程。在事件处理程序中添加以下代码:

private void button2_Click(object sender, EventArgs e)
{
    try
    {
        IronZipArchive.ExtractArchiveToDirectory(textBox1.Text, "extracted");
        MessageBox.Show("File Successfully Unarchived", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
        MessageBox.Show($"Error extracting ZIP file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}
private void button2_Click(object sender, EventArgs e)
{
    try
    {
        IronZipArchive.ExtractArchiveToDirectory(textBox1.Text, "extracted");
        MessageBox.Show("File Successfully Unarchived", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception ex)
    {
        MessageBox.Show($"Error extracting ZIP file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}
Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs)
	Try
		IronZipArchive.ExtractArchiveToDirectory(textBox1.Text, "extracted")
		MessageBox.Show("File Successfully Unarchived", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
	Catch ex As Exception
		MessageBox.Show($"Error extracting ZIP file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
	End Try
End Sub
$vbLabelText   $csharpLabel

在上面的代码中,点击提取按钮时,会使用IronZIP库的ExtractArchiveToDirectory方法来实现此目的,将内容提取到参数中给定的名为“extracted”的目标文件夹。

如果提取成功,将使用MessageBox显示一条成功消息。 如果在提取过程中出现任何错误,则会捕获异常并显示错误信息,从而向用户提供有关所遇问题的宝贵反馈。 该代码使用户能够在应用程序中以交互方式启动 ZIP 文件的提取。

5.3.运行示例

当我们运行程序时,会出现一个表单。

如何在 C# Windows 应用程序中提取 ZIP 文件:图 2 - 生成的 Windows 窗体

在此表格中,请单击 "浏览 "按钮。 它将打开一个文件选择器对话框。 选择文件并点击 "打开"。

如何在C# Windows应用程序中提取ZIP文件:图3 - 表单的文件选择器,在点击“浏览”之后

它将在文本框中显示文件名及其完整路径。

如何在 C# Windows 应用中提取 ZIP 文件:图 4 - 显示文件路径

现在,点击 "提取文件 "按钮。 它将提取文件、保存文件并显示成功通知。

如何在 C# Windows 应用程序中解压 ZIP 文件:图 5 - 成功解压消息框

现在,转到您为代码中提取的文件提供的路径。 在我的例子中,它是我的项目文件根目录中名为 "Extracted "的文件夹。 在这里,您可以找到提取的文件。

如何在C# Windows应用程序中提取ZIP文件:图6 - 已提取的存档条目

6. 结论

在本文中,我们探讨了 ZIP 文件的意义、优点以及在各种应用程序中提取 ZIP 文件的重要性。 我们推出了IronZIP,一个强大的C#库用于处理ZIP文件。 使用 IronZIP,您可以创建 ZIP 文件、从 ZIP 存档中提取文件并更新现有的 ZIP 文件。

我们提供了使用 IronZIP 创建 C# Windows 应用程序解压缩 ZIP 文件的分步指南。从在 Visual Studio 中设置一个新项目并通过 NuGet 安装 IronZIP,到设计一个用户友好的表单并集成提取逻辑,本教程提供了一个全面的概述。

通过利用 IronZIP 的功能,开发人员可以有效地处理 ZIP 存档,增强应用程序中的数据管理和用户体验。 循序渐进的说明和代码片段使开发人员掌握了无缝集成和执行 ZIP 文件提取的实用技能,有助于在 C# 项目中更高效、更有序地处理文件。

IronZIP 提供免费试用,这是探索其功能的绝佳机会。 访问此链接以了解有关IronZIP、其功能以及如何提取ZIP文件夹的更多信息。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在C#中从多个文件创建ZIP文件
下一步 >
ZipArchive C#(开发者教程)

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >