使用 IRONZIP 如何在 C# 中将 ZIP 归档文件提取到目录 Curtis Chau 已更新:六月 22, 2025 下载 IronZIP NuGet 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 ZIP 文件是一种方便的方法,可以将多个文件和目录打包成一个存档。无论是管理备份、分发软件还是共享文件,从 ZIP 存档中高效提取文件都是至关重要的。 IronZIP 是一个强大的 .NET 库,通过提供简单的方法简化了这个过程。 如何在 C# 中将 ZIP 存档提取到目录 在您的项目中安装 IronZIP 库。 使用 IronZIP 提供的 ExtractArchiveToDirectory() 方法。 指定您的 ZIP 文件路径(例如,"output.zip")和目标提取目录(例如,"extracted")。 什么是 IronZIP? IronZIP 是一个多功能的 C# 库,可以在 .NET 应用程序中处理 ZIP 文件。 无论是构建桌面软件、Web 应用程序还是自动化工具,IronZIP 简化了 ZIP 存档的创建、阅读和提取。 关键特性 高性能:IronZIP 具有强大的引擎,用于压缩和解压文件,速度快且资源消耗少。 易于使用:开发人员可以无缝将 IronZIP 集成到他们的项目中。 该库提供了用于处理 ZIP 文件的简单方法。 NuGet 集成:通过 NuGet 包管理器安装 IronZIP,使其可用于您的 C# ziparchive 提取到目录解决方案。 跨平台兼容性:IronZIP 支持各种平台,包括 Windows、Linux 和 macOS。 文档和教程:探索官方文档和教程,了解如何有效利用 IronZIP。 无论是为分发压缩文件、管理备份还是处理数据存档,IronZIP 都为开发人员提供了一个可靠而高效的解决方案。 将 ZIP 存档提取到目录 在开始之前,我们需要在项目中安装 IronZIP 库。 我们可以通过使用 NuGet 包管理器控制台使用以下命令来添加它: Install-Package IronZip 上述命令将在我们的项目中安装 IronZIP 库以及所需的依赖项。 或者,您也可以通过浏览 "IronZIP" 从 NuGet 包管理器中下载。 在代码中包含必要的using指令: using IronZip; using IronZip.Enum; using IronZip; using IronZip.Enum; Imports IronZip Imports IronZip.Enum $vbLabelText $csharpLabel 将 ZIP 文件提取到指定目录 IronZIP 简化了将 zip 存档提取到目录的过程。 我们只需一行代码就可以提取文件。 以下代码将提取提供路径中的所有文件。 internal class Program { static void Main(string[] args) { IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts"); } } internal class Program { static void Main(string[] args) { IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts"); } } Friend Class Program Shared Sub Main(ByVal args() As String) IronZipArchive.ExtractArchiveToDirectory("Contracts.zip", "Contracts") End Sub End Class $vbLabelText $csharpLabel 上述代码行提取"Contracts.zip"文件的内容,并将其放置在名为"Contracts"的目标文件夹中。这是一种在 C# 应用程序中以编程方式处理 ZIP 存档的便捷方法。 解释 IronZipArchive:这是来自 IronZIP 库的一个类。 它提供了用于处理 ZIP 文件的方法和属性。 .ExtractArchiveToDirectory("Contracts.zip", "Contracts"): 方法ExtractArchiveToDirectory在 IronZipArchive 上调用。 第一个参数,"Contracts.zip",代表您要提取的 ZIP 文件的路径。 第二个参数,"Contracts",指定了提取文件将要放置的目标目录。 如果指定目录中文件已存在,它将覆盖现有文件。 提取的文件如下: 提取密码保护的 ZIP 存档 IronZIP 还提供了一种提取密码保护压缩文件的方法。 以下示例将从密码保护的 ZIP 文件中提取文件。 IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip"); IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip"); IronZipArchive.ExtractArchiveToDirectory("PasswordProtectedContracts.zip", "Contracts", "Pa55w0r2Zip") $vbLabelText $csharpLabel 上述代码提取了名为"PasswordProtectedContracts.zip"的密码保护 ZIP 文件的内容,并将其放置在名为"Contracts"的目录中。指定的密码确保了受保护 ZIP 文件的安全提取。 访问现有存档 IronZIP 允许访问现有 ZIP 文件,而无需从指定目录中提取它们。 此功能对于很多场景都很重要,例如从压缩存档中提取文件、验证特定条目的存在,或者在用户交互时动态检查 ZIP 文件的内容。 查看 ZIP 存档条目 以下代码示例将访问现有 ZIP 文件并将其条目打印到控制台。 using (var zipArchive = new IronZipArchive("Contracts.zip")) { // Get Entries list List<string> names = zipArchive.GetArchiveEntryNames(); foreach (string name in names) { Console.WriteLine(name); // Print the name of each entry } } using (var zipArchive = new IronZipArchive("Contracts.zip")) { // Get Entries list List<string> names = zipArchive.GetArchiveEntryNames(); foreach (string name in names) { Console.WriteLine(name); // Print the name of each entry } } Using zipArchive = New IronZipArchive("Contracts.zip") ' Get Entries list Dim names As List(Of String) = zipArchive.GetArchiveEntryNames() For Each name As String In names Console.WriteLine(name) ' Print the name of each entry Next name End Using $vbLabelText $csharpLabel 上述代码使用 IronZIP 查看名为 "Contracts.zip" 的 ZIP 文件内部。它创建了一个 IronZipArchive 对象来获取存档中条目名称(如文件名)的列表,使用 GetArchiveEntryNames 方法。 如果 ZIP 文件是密码保护的,您可以在创建 IronZipArchive 对象时包含密码。 然后,代码将每个文件名打印到控制台。 这样,我们可以处理压缩存档中特定的条目。 译文如下: 检查 ZIP 文件中是否存在指定条目 我们还可以检查指定条目是否存在于指定 ZIP 文件中。以下代码展示了这一过程。 using (var zipArchive = new IronZipArchive("Contracts.zip")) { if (zipArchive.CheckArchiveEntryExist("Contract1.pdf")) { Console.WriteLine("File Exist"); } } using (var zipArchive = new IronZipArchive("Contracts.zip")) { if (zipArchive.CheckArchiveEntryExist("Contract1.pdf")) { Console.WriteLine("File Exist"); } } Using zipArchive = New IronZipArchive("Contracts.zip") If zipArchive.CheckArchiveEntryExist("Contract1.pdf") Then Console.WriteLine("File Exist") End If End Using $vbLabelText $csharpLabel 上述代码使用 IronZIP 库来检查名为 "Contracts.zip" 的 ZIP 文件中是否包含名为 "Contract1.pdf" 的条目。它通过为 ZIP 文件创建一个IronZipArchive对象来实现的。代码内部有一个"if"语句检查 "Contract1.pdf" 是否存在于 ZIP 文件中。如果确实存在,它会在控制台上打印"文件存在"。 简单来说,这段代码帮助您确认特定文件是否在 ZIP 文件中,如果在,它会告知您。 从现有 ZIP 文件中删除条目 IronZIP 提供了一种从 ZIP 文件中删除条目的方法。以下代码将从现有 ZIP 中删除一个文件。 using (var zipArchive = new IronZipArchive("Contracts.zip")) { zipArchive.DeleteArchiveEntry("Contract1.pdf"); } using (var zipArchive = new IronZipArchive("Contracts.zip")) { zipArchive.DeleteArchiveEntry("Contract1.pdf"); } Using zipArchive = New IronZipArchive("Contracts.zip") zipArchive.DeleteArchiveEntry("Contract1.pdf") End Using $vbLabelText $csharpLabel 上述代码演示了如何使用 IronZIP 从名为"Contracts.zip"的 ZIP 存档中删除条目。在使用块中,指定的名为"Contract1.pdf"的文件从存档中删除。此操作确保了在 C# 应用程序中对 ZIP 文件的有效管理。 结论 总之,IronZIP 成为 C# 开发人员的一个有价值的工具,简化了在各种场景下处理 ZIP 文件的过程,无论是提取文件用于商业用途。 常见问题解答 如何在C#中将ZIP文件提取到目录? 你可以使用IronZIP库的ExtractArchiveToDirectory()方法将ZIP文件提取到指定目录。只需指定你的ZIP文件的路径和目标提取目录。 我可以使用C#库提取密码保护的ZIP文件吗? 是的,使用IronZIP,你可以通过在ExtractArchiveToDirectory()方法中提供密码作为附加参数来提取密码保护的ZIP文件。 如何在C#项目中安装用于ZIP文件管理的库? 你可以通过NuGet包管理器控制台使用命令Install-Package IronZIP安装IronZIP库,或者在NuGet包管理器中浏览'IronZIP'以供解决方案使用。 我可以用什么方法在不提取的情况下查看ZIP条目? IronZIP允许你通过使用GetArchiveEntryNames()方法在不提取的情况下查看ZIP存档的条目,该方法列出了存档中的所有条目。 是否可以使用C#检查ZIP存档中特定文件? 是的,你可以使用IronZIP的CheckArchiveEntryExist()方法检查ZIP文件中特定条目是否存在。 如何在C#中从ZIP存档中删除文件? 要使用IronZIP从ZIP存档中删除文件,请在指定文件的IronZipArchive对象上使用DeleteArchiveEntry()方法。 该C#库支持哪些平台进行ZIP文件管理? IronZIP支持在包括Windows、Linux和macOS在内的各种平台上进行ZIP文件管理,确保跨平台兼容性。 使用IronZIP库进行ZIP文件管理有什么好处? IronZIP提供高性能、易用性、跨平台兼容性、以及无缝的NuGet集成,并为开发人员提供全面的文档和教程。 我在哪里可以找到使用C#管理ZIP文件的教程? IronZIP的官方网站上可找到官方文档和教程,提供关于使用该库进行ZIP文件管理的详细指导。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新七月 28, 2025 如何在 C# 中创建带密码的 ZIP 文件 在本文中,我们将探索如何使用 C# 和 IronZIP 库创建一个密码保护的 ZIP 文件。 阅读更多 已更新七月 28, 2025 如何在 C# 中将文件解压到目录 无论您是在开发 Windows 应用程序还是 .NET 项目,理解文件解压过程都非常有价值。 阅读更多 已更新七月 28, 2025 如何使用 C# 压缩文件夹中的文件 ZIP 文件即包含使用 ZIP 格式压缩的一个或多个文件或文件夹的文件。这是一种将多个文件或文件夹压缩和归档为一个文件的常见方法。 阅读更多 如何使用 C# 压缩文件夹中...
已更新七月 28, 2025 如何使用 C# 压缩文件夹中的文件 ZIP 文件即包含使用 ZIP 格式压缩的一个或多个文件或文件夹的文件。这是一种将多个文件或文件夹压缩和归档为一个文件的常见方法。 阅读更多