在上一篇文章中,您学习了使用Aspose.ZIP for .NET 将文件和文件夹压缩到ZIP档案的不同方法。在这篇文章中,我将向您展示如何使用C#提取或解压缩 ZIP 档案中的文件。我们还将介绍如何解压缩受密码保护或AES 加密的 ZIP档案。本文分为以下几个部分:
用于解压缩文件的 C# API
在我们开始之前,请确保您已经下载并引用了 Aspose.ZIP for .NET 或在您的项目中使用NuGet 包管理器安装了它的包。
使用 C# 解压缩 ZIP 文件
解压ZIP文件的过程可以通过两种方式实现:
- 分别解压缩 ZIP 中的每个文件
- 将文件解压到指定文件夹
在第一种方法中,您可以明确访问和解压缩 ZIP 存档中的每个文件。此外,您可以打印提取过程的进度。而第二种方法只是将文件解压缩到指定的文件夹中。
单独解压缩存档中的每个文件
以下是访问和解压文件以及打印提取进度的步骤:
- 将 ZIP 存档打开到FileStream对象中。
- 使用FileStream对象创建和初始化Archive的实例。
- 使用Archive.Entries集合访问 ZIP 中的文件。
- 设置ArchiveEntry.ExtractionProgressed事件处理程序以打印提取进度。
- 使用ArchiveEntry.Extract(string)方法提取/解压缩文件。
以下代码示例展示了如何使用 C# 提取 ZIP 存档中的文件。
将文件解压缩到文件夹中
以下步骤用于将文件解压缩到特定文件夹中。
- 使用FileStream类打开 ZIP 存档。
- 创建Archive类的实例并使用 ZIP 的FileStream对象对其进行初始化。
- 使用Archive.ExtractToDirectory(string)方法解压缩文件。
以下 C# 代码示例将文件解压缩到一个文件夹中。
在 C# 中解压缩受密码保护的 ZIP 文件
您还可以使用 Aspose.ZIP for .NET 解压缩受密码保护的 ZIP 存档。为此,您只需要使用ArchiveLoadOptions类指定密码,该类将作为第二个参数传递给Archive的构造函数。
以下是解压缩受密码保护的 ZIP 文件的示例代码。
解压缩 AES 加密 ZIP 文件
ZIP 存档也可以使用 AES 加密进行加密。Aspose.ZIP for .NET 支持使用 AES128、AES192 和 AES256 加密方法加密档案。解压缩 AES 加密的 ZIP 文件类似于解压缩受密码保护的 ZIP 文件。只需使用ArchiveLoadOptions类指定解密密码,其余部分将由 API 处理。
以下代码示例显示了如何在 C# 中解压缩 AES 加密的 ZIP 文件。
结论
在本文中,您学习了如何使用 C# 解压缩 ZIP 文件。此外,您已经了解了如何解压缩受密码保护的 ZIP 档案中的文件。您可以使用文档探索有关 Aspose.ZIP for .NET 的更多信息。