Create ZIP in C#

C# 中的 ZIP 压缩文件介绍

ZIP 压缩文件 对于将文件和文件夹压缩并组织成一个单一的可管理容器至关重要。它们不仅减少文件大小以实现高效存储和传输,还保留元数据,并可以加密以增强安全性。在本文中,我们将探讨在 C# 中 以编程方式创建 ZIP 文件 的各种方法,包括如何添加文件和文件夹、创建密码保护的压缩文件以及应用 AES 加密。

您将学习到的内容

在本文中,您将发现如何:

C# ZIP 库

Aspose.ZIP for .NET 库是一个强大的工具,用于在 .NET 应用程序中处理 ZIP 文件操作,使得压缩或解压缩文件和文件夹变得更加容易。该库特别有效于 处理 C# .NET ZIP 压缩文件中的大文件,并支持 AES 加密以增强安全性。您可以轻松地从 NuGet 安装该库,或从 Downloads 部分下载二进制文件。

在 C# 中创建 ZIP 压缩文件

以编程方式在 C# 中创建 ZIP 文件,请按照以下步骤操作:

  1. 为输出的 ZIP 压缩文件创建一个 FileStream 对象。
  2. 将源文件打开为 FileStream 对象。
  3. 实例化 Archive 类。
  4. 使用 Archive.CreateEntry(string, FileStream) 方法将文件添加到压缩文件中。
  5. 使用 Archive.Save(FileStream) 方法保存 ZIP 压缩文件。

以下是一个代码示例,演示如何在 C# 中将文件添加到 ZIP 压缩文件中:

在 C# 中将多个文件添加到 ZIP 压缩文件

当您需要 将多个文件添加到 ZIP 压缩文件 时,可以采取几种方法:

使用 FileStream 添加多个文件

此方法使用 FileStream 类通过 Archive.CreateEntry(String, FileStream) 方法将文件添加到 ZIP 压缩文件中。以下是如何操作的:

使用 FileInfo 处理多个文件

或者,您可以利用 FileInfo 类加载文件,并使用 Archive.CreateEntry(String, FileInfo) 方法将它们添加到 ZIP 压缩文件中。以下是一个代码示例:

使用文件路径

您还可以直接将文件路径提供给 Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) 方法。以下是一个示例:

在 C# 中将文件夹添加到 ZIP 压缩文件

在 C# 中将文件夹添加到 ZIP 压缩文件,请按照以下步骤操作:

  1. 为输出的 ZIP 压缩文件创建一个 FileStream 对象。
  2. 实例化 Archive 类。
  3. 使用 DirectoryInfo 类指定要压缩的文件夹。
  4. 使用 Archive.CreateEntries(DirectoryInfo) 方法将文件夹添加到 ZIP 中。
  5. 使用 Archive.Save(FileStream) 方法保存 ZIP 压缩文件。

以下是一个代码示例,演示如何将文件夹添加到 ZIP 文件中:

使用 ZipCrypto 在 C# 中创建密码保护的 ZIP 文件

要保护您的 ZIP 压缩文件,您可以使用 ZipCrypto 加密应用密码保护。这是通过在 Archive 的构造函数中使用 ArchiveEntrySettings 类来完成的,该构造函数接受加密类型作为参数。

以下是如何在 C# 中使用 ZipCrypto 创建密码保护的 ZIP 压缩文件:

使用 AES 加密创建密码保护的 ZIP 文件

Aspose.ZIP for .NET 库还支持 AES 加密以保护 ZIP 压缩文件。您可以选择以下 AES 加密方法:

  • AES128
  • AES192
  • AES256

要应用 AES 加密,请使用 AesEcryptionSettings 类。以下是一个代码示例,演示如何在 C# 中创建一个带有 AES 加密的密码保护 ZIP 文件:

设置并行压缩模式

为了高效处理多个条目,您可以使用 ParallelOptions 类配置 API 的并行压缩。可用的并行压缩模式有:

  • 从不 - 不进行并行压缩。
  • 始终 - 进行并行压缩(注意可能的内存问题)。
  • 自动 - 根据条目自动决定是否使用并行压缩。

以下是在使用 Aspose C# ZIP 库压缩多个文件时设置并行压缩模式的方法:

了解更多关于 C# .NET ZIP 库的信息

要深入了解 C# .NET ZIP 库,请查阅以下资源:

尝试我们的在线 ZIP 压缩工具

您还可以尝试基于 Aspose.ZIP for .NET 的 免费在线应用程序,轻松将文件压缩为 ZIP 压缩文件。

结论

在本文中,您已学习如何 以编程方式在 C# 中创建 ZIP 压缩文件。提供的代码示例演示了如何将文件和文件夹添加到 ZIP 压缩文件中,如何使用 ZipCrypto 和 AES 加密方法创建密码保护的 ZIP 文件,以及如何配置并行压缩。如果您有任何问题或需要进一步的帮助,请随时通过我们的 论坛 联系我们。

另请参见

使用 C# 解压或提取文件使用 C# 解压 ZIP 压缩文件在 C# .NET 中创建 7z (7-Zip) 压缩文件
在 C# .NET 中打开或提取 7z (7zip) 文件使用 C# 创建和提取 GZip 压缩文件将 RAR 文件转换为 ZIP 压缩文件
将 ZIP 压缩文件转换为 TAR在 C# 中创建扁平 ZIP 压缩文件在 C# 中创建可执行自解压缩压缩文件
在 C# 中创建 TAR.GZ 和 TAR.XZ 文件在 C# 中删除 ZIP 压缩文件中的文件在 C# 中提取嵌套的 ZIP 压缩文件
在 C# 中合并多个 ZIP 或 TAR 压缩文件如何创建 ZIP 文件在线提取 7z

关键词: C# .NET ZIP 压缩文件的编程创建,C# .NET Core ZIP 文件处理,向 C# .NET 6 中的 ZIP 压缩文件添加文件,使用 C# .NET 向 ZIP 压缩文件添加文件夹,C# 中从目录以编程方式创建 ZIP 文件,C# .NET ZIP 文件压缩与密码保护,.NET ZIP 文件的编程加密与解密,C# .NET 中大文件的高效 ZIP 文件创建,C# .NET ZIP 压缩文件中大文件的处理,C# .NET ZIP 压缩文件的错误处理与最佳实践,Aspose .NET ZIP 库的编程文件添加,Aspose .NET ZIP 库对大文件的性能,Aspose .NET ZIP 库:以编程方式添加文件夹和文件,C# .NET 编程 ZIP 文件更新,.NET ZIP 压缩文件:添加多个文件夹和文件,C# .NET 异步 ZIP 文件创建,.NET Framework ZIP 文件的编程创建,.NET Core ZIP 压缩文件的编程创建,.NET ZIP 文件操作示例:添加、删除、更新,C# .NET Core 3.1 中的编程 ZIP 文件处理,C# .NET 5 中的编程 ZIP 文件处理,C# .NET 7 中的编程 ZIP 文件处理,C# .NET ZIP 压缩文件的目录结构保留,C# .NET ZIP 文件 API:添加、删除、提取,在 C# .NET 中创建自解压 ZIP 文件,.NET ZIP 压缩库:最佳实践与优化,C# .NET 从多个来源创建 ZIP 文件,C# 向 ZIP 文件夹添加带有子目录的文件,.NET 编程 ZIP 文件处理:高级技术,C# .NET ZIP 库推荐用于大文件,C# .NET 大数据集的高效 ZIP 文件创建,.NET ZIP 文件创建的进度报告,C# .NET ZIP 压缩文件:以编程方式添加文件和文件夹,.NET 6 ZIP 文件处理:高效文件处理,C# .NET ZIP 压缩文件:安全性最佳实践,.NET ZIP 文件 API:高级用法和功能,C# 将目录添加到 ZIP 压缩文件并自定义压缩。