在C#中创建ZIP

C#中的ZIP档案介绍

ZIP档案对于将文件和文件夹压缩并组织成一个单一的容器至关重要。它们不仅减少了文件大小,以便于存储和传输,还保持元数据,并可以加密以确保安全性。本文将指导您通过各种方法在C#中以编程方式创建ZIP文件,涵盖添加文件和文件夹、创建受密码保护的档案以及应用AES加密等操作。

您将学到什么

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

C# ZIP库

**Aspose.ZIP for .NET库是一个强大的工具,用于处理.NET应用程序中的ZIP文件操作。它简化了压缩或解压缩文件和文件夹的过程,并支持AES加密以增强安全性。您可以轻松地从NuGet安装此库或从下载**部分下载二进制文件。

在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# 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