在 C# 中创建 7Zip 压缩文件

上一篇文章中,我们探讨了使用C# 创建ZIP 压缩文件的各种方法。本文将基于此知识,重点关注基于开源架构的 7z 格式,该格式提供了高压缩比。值得注意的是,7z 支持 256 位 AES 加密,允许您保护文件及其名称。

在本指南中,您将学习如何使用 C# 程序化创建 7z (7-Zip) 压缩文件。我们将涵盖:

所有示例和代码片段均基于Aspose.ZIP for .NET API。确保您已使用以下方法之一安装 API:

使用 C# 创建 7z (7-Zip) 压缩文件

您可以在两种主要情况下将文件压缩到 7z 压缩文件中:处理单个文件或多个文件。以下是处理这两种情况的方法。

使用单个条目创建 7z 压缩文件

要创建一个包含单个文件的 7z 压缩文件,请按照以下步骤操作:

  1. 打开一个新的FileStream以创建 7z 文件。
  2. 创建SevenZipArchive类的实例。
  3. 使用SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings)方法将文件添加到压缩文件中。
  4. 使用SevenZipArchive.Save(Stream)方法保存压缩文件。

以下是一个C# 7z 压缩文件示例,演示上述步骤:

使用多个条目创建 7z 压缩文件

如果您需要压缩多个文件,可以将它们放在一个文件夹中,并将文件夹的路径传递给SevenZipArchive.CreateEntries()方法。请按照以下步骤操作:

  1. 创建SevenZipArchive类的实例。
  2. 将文件夹的路径传递给SevenZipArchive.CreateEntries(String, Boolean)方法。
  3. 调用SevenZipArchive.Save(String)方法。

以下是使用 C# 创建包含多个条目的 7z 压缩文件的方法:

使用 C# 创建 AES 加密的 7z 压缩文件

7z 格式支持 AES 加密以增强安全性。要加密 7z 文件,请使用SevenZipAESEncryptionSettings类。以下是一个代码示例,演示如何使用 C# 创建 AES 加密的 7z 压缩文件:

使用 C# 为 7z 条目设置不同的密码

7z 格式还允许您为每个文件条目分配唯一密码。如果您正在压缩多个文件,可以为每个文件指定不同的密码。以下是操作步骤:

  1. 为 7z 压缩文件创建一个新的FileStream
  2. 使用FileInfo类访问每个文件条目。
  3. 创建SevenZipArchive类的实例。
  4. 使用SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings)方法将条目添加到 7z 压缩文件中。
  5. 使用SevenZipArchive.Save(Stream)方法保存压缩文件。

查看以下代码示例,了解如何为 7z 压缩文件中的每个条目设置不同的密码:

结论

在本文中,我们介绍了如何使用 C# 程序化创建 7z 压缩文件。我们还探讨了如何实现 AES 加密以增强安全性,以及如何为每个文件条目设置唯一密码。有关文件压缩和解压缩的进一步阅读,您可以查看Aspose.ZIP 文档

相关文章

通过利用Aspose 插件为 .NET,您可以轻松将**.NET 7-Zip 压缩集成到您的应用程序中,简化文件管理流程,并增强软件的功能。只需$99**,您就可以解锁支持大文件处理、异步压缩等强大功能。