在上一篇文章中,我们探讨了使用C# 创建ZIP 压缩文件的各种方法。本文将基于此知识,重点关注基于开源架构的 7z 格式,该格式提供了高压缩比。值得注意的是,7z 支持 256 位 AES 加密,允许您保护文件及其名称。
在本指南中,您将学习如何使用 C# 程序化创建 7z (7-Zip) 压缩文件。我们将涵盖:
所有示例和代码片段均基于Aspose.ZIP for .NET API。确保您已使用以下方法之一安装 API:
- 通过NuGet 包管理器安装。
- 下载 DLL并将其引用添加到您的项目中。
使用 C# 创建 7z (7-Zip) 压缩文件
您可以在两种主要情况下将文件压缩到 7z 压缩文件中:处理单个文件或多个文件。以下是处理这两种情况的方法。
使用单个条目创建 7z 压缩文件
要创建一个包含单个文件的 7z 压缩文件,请按照以下步骤操作:
- 打开一个新的FileStream以创建 7z 文件。
- 创建SevenZipArchive类的实例。
- 使用SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings)方法将文件添加到压缩文件中。
- 使用SevenZipArchive.Save(Stream)方法保存压缩文件。
以下是一个C# 7z 压缩文件示例,演示上述步骤:
使用多个条目创建 7z 压缩文件
如果您需要压缩多个文件,可以将它们放在一个文件夹中,并将文件夹的路径传递给SevenZipArchive.CreateEntries()方法。请按照以下步骤操作:
- 创建SevenZipArchive类的实例。
- 将文件夹的路径传递给SevenZipArchive.CreateEntries(String, Boolean)方法。
- 调用SevenZipArchive.Save(String)方法。
以下是使用 C# 创建包含多个条目的 7z 压缩文件的方法:
使用 C# 创建 AES 加密的 7z 压缩文件
7z 格式支持 AES 加密以增强安全性。要加密 7z 文件,请使用SevenZipAESEncryptionSettings类。以下是一个代码示例,演示如何使用 C# 创建 AES 加密的 7z 压缩文件:
使用 C# 为 7z 条目设置不同的密码
7z 格式还允许您为每个文件条目分配唯一密码。如果您正在压缩多个文件,可以为每个文件指定不同的密码。以下是操作步骤:
- 为 7z 压缩文件创建一个新的FileStream。
- 使用FileInfo类访问每个文件条目。
- 创建SevenZipArchive类的实例。
- 使用SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings)方法将条目添加到 7z 压缩文件中。
- 使用SevenZipArchive.Save(Stream)方法保存压缩文件。
查看以下代码示例,了解如何为 7z 压缩文件中的每个条目设置不同的密码:
结论
在本文中,我们介绍了如何使用 C# 程序化创建 7z 压缩文件。我们还探讨了如何实现 AES 加密以增强安全性,以及如何为每个文件条目设置唯一密码。有关文件压缩和解压缩的进一步阅读,您可以查看Aspose.ZIP 文档。
相关文章
通过利用Aspose 插件为 .NET,您可以轻松将**.NET 7-Zip 压缩集成到您的应用程序中,简化文件管理流程,并增强软件的功能。只需$99**,您就可以解锁支持大文件处理、异步压缩等强大功能。