使用IRONZIP

如何使用C#压缩文件夹中的文件

发布 2024年二月18日
分享:

ZIP 文件是指使用 ZIP 格式,包含一个或多个压缩文件或文件夹的文件。 这是一种将多个文件或文件夹压缩和归档为单个文件的常用方法。它们可以减小数据大小、节省磁盘空间,并使通过互联网传输文件变得更加容易。 在本文中,您将学习如何使用ZIP中的文件C#,使用IronZIP图书馆 您将看到如何以编程方式创建、读取、提取和更新 ZIP 文件,以及如何使用 IronZIP 的各种功能,如加密、密码保护和压缩级别。 本文结束时,您将能在 C# 应用程序中使用 IronZIP 轻松处理 ZIP 文件。

本文将涉及的内容

  1. 在我们的项目中安装 IronZIP

  2. 创建 ZIP 文件

  3. 创建受密码保护的 ZIP 文件

  4. 提取 ZIP 文件

  5. 提取受密码保护的 ZIP 文件

  6. 访问现有 ZIP 压缩包

什么是 IronZIP?

IronZIP是一个功能强大、用途广泛的 C# ZIP 压缩文件库,可让您以编程方式创建、读取和提取 ZIP 文件。 它支持各种归档格式,例如ZIP, TAR, GZIPBZIP2. 它还支持密码保护译文必须包含以下内容:.NET、Java、Python 或 Node js。 IronZIP 兼容 .NET 8、7、6、Core、Standard 和 Framework。

IronZIP 可以帮助您处理与 ZIP 文件打交道的各种用例和优势,例如:

  1. 创建备份系统:您可以使用 IronZIP 将重要文件和文件夹压缩加密为 ZIP 压缩文件,并将其存储到安全位置。 这样,您就可以节省磁盘空间,保护数据免遭未经授权的访问。

  2. 发送电子邮件附件:您可以使用 IronZIP 将电子邮件附件压缩成 ZIP 文件,从而减小附件的大小。这可以帮助您避免超过文件大小限制,并加快传输过程。

  3. 从网上下载文件:您可以使用 IronZIP 从网上下载和解压缩 ZIP 文件,如软件包、文档、图像和其他类型的文件。 这可以帮助您节省带宽和时间,并轻松访问所需的文件。

开始使用 IronZIP

在编写代码之前,您需要安装 IronZIP NuGet Package 我们的 C# 项目。 IronZIP 是一个流行的压缩库,可通过 NuGet 获取。

安装 IronZIP 库

要安装 IronZIP,可以使用 Visual Studio 中的 NuGet 包管理器控制台。 只需运行以下命令:

Install-Package IronZip

或者,您也可以直接从官方的IronZIP网站。安装完成后,只需在 C# 代码顶部添加以下命名空间即可开始使用。

using IronZip;
using IronZip;
Imports IronZip
VB   C#

在文件夹文件中创建 C# ZIP 文件

我们可以使用 IronZIP 在文件夹中轻松创建 ZIP 文件。以下代码将压缩指定目录中的所有文件。

static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
static void Main(string [] args)
{
    string [] fileArray = Directory.GetFiles(@"D:\Docs\");
    using (var archive = new IronZipArchive())
    {
        foreach (var file in fileArray)
        {
            // Add files to the ZIP
            archive.Add(file);
        }
        // Export the ZIP
        archive.SaveAs("myZipFile.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
	Using archive = New IronZipArchive()
		For Each file In fileArray
			' Add files to the ZIP
			archive.Add(file)
		Next file
		' Export the ZIP
		archive.SaveAs("myZipFile.zip")
	End Using
End Sub
VB   C#

上述 C# 代码使用 IronZIP 库将所有文件压缩成一个 ZIP 文件。代码的功能如下:

  • 我们声明了一个名为 fileArray 的字符串数组,并将 Directory.GetFiles 方法的结果分配给它,同时传递目录路径("D:\Docs")作为参数。 该方法返回一个字符串数组,其中包含指定目录中所有文件的全名。
  • 我们创建了一个 IronZipArchive 类的新实例,它表示内存中的 ZIP 压缩包。 该实例被分配给一个名为 archive 的变量,并封装在一个 using 语句中,以确保在代码块结束时 ZIP 压缩包被处理掉。
  • 然后,我们使用一个 foreach 循环遍历 fileArray 数组,并为每个文件调用归档对象的 Add 方法,将文件名作为参数传递。 此方法可在 ZIP 压缩包中添加一个新条目,其名称和内容与文件相同。
  • 最后,我们调用了存档对象的 SaveAs 方法,并传递了 ZIP 文件的名称("myZipFile.zip")作为参数。 此方法可将 ZIP 压缩包保存到当前文件系统中的文件。

    这样,我们只需几行代码就能轻松创建新的 zip 压缩包。

输出

输出为

如何使用 C# 在文件夹中压缩文件:图 1 - 上一代码示例的输出文件

创建受密码保护的 ZIP 文件

IronZIP 提供了创建受密码保护的 ZIP 文件的最简单方法。 以下代码示例将压缩文件并创建一个带有密码的新 ZIP 文件。

using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
using (var archive = new IronZipArchive())
 {
     foreach (var file in fileArray)
     {
         // Add files to the ZIP
         archive.Add(file);
     }
    // Set Password and Encryption Method
     archive.Encrypt("myPa55word", EncryptionMethods.AES256);
     // Export the ZIP
     archive.SaveAs("myZipFile.zip");
 }
Using archive = New IronZipArchive()
	 For Each file In fileArray
		 ' Add files to the ZIP
		 archive.Add(file)
	 Next file
	' Set Password and Encryption Method
	 archive.Encrypt("myPa55word", EncryptionMethods.AES256)
	 ' Export the ZIP
	 archive.SaveAs("myZipFile.zip")
End Using
VB   C#

行 archive.Encrypt("myPa55word",EncryptionMethods.AES256); 设置密码("myPa55word"(我的 Pa55word)使用 IronZIP 生成 ZIP 压缩包。它通过对归档应用 AES-256 加密来增强安全性,确保只有拥有正确密码的用户才能访问其内容。 该功能对于保护 C# 应用程序中存储或传输过程中的敏感数据非常有价值。 我们需要在第二个参数中传递指定的加密算法模式。

文件已加密,如下所示。

输出

如何使用 C# 在文件夹中压缩文件:图 2 - 上一代码示例中输出的加密文件

我们已经看到了通过循环指定路径下的目录来创建 ZIP 文件的演示。 现在,让我们以解压文件为例。

从 ZIP 压缩文件中提取文件

IronZIP 提供了一种从 ZIP 压缩包 C# 中提取文件的方法。 以下代码示例将提取 ZIP 压缩包中的压缩文件。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
VB   C#

代码 IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip"、"myExtractedFiles"); 使用 IronZIP 从 "myZipFile.zip "中提取所有文件,并将它们放入 "myExtractedFiles "目录。 这种简明的方法简化了用 C# 提取 ZIP 压缩包的过程,为文件提取任务提供了便捷的解决方案。

输出

输出如下

如何使用 C#.NET 将文件夹中的文件压缩:图 3 - 上一代码示例中输出的文件

如何从受密码保护的 ZIP 文件中解压缩

IronZIP 还提供了一种提取受密码保护的 ZIP 文件的方法。 以下代码将使用 IronZIP 方法从指定的 ZIP 文件中提取所有现有文件和目录。

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
VB   C#

IronZipArchive 类的 ExtractArchiveToDirectory 方法可将 ZIP 压缩包中的所有条目提取到指定目录。 该方法传递三个参数:ZIP 文件路径("myZipFile.zip"),目标目录的路径("我的提取文件")以及 ZIP 文件的密码("myPa55word"(我的 Pa55word).

通过这种方式,我们可以轻松提取受密码保护的压缩文件。

如何访问现有存档

IronZIP 提供了以下方法访问现有档案并查看文件中的所有条目。

using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
    // Get Entries list
    List<string> names = archive.GetArchiveEntryNames();
    foreach (string name in names)
    {
        Console.WriteLine(name);
    }
}
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
	' Get Entries list
	Dim names As List(Of String) = archive.GetArchiveEntryNames()
	For Each name As String In names
		Console.WriteLine(name)
	Next name
End Using
VB   C#

所提供的 C# 代码使用 IronZIP 通过加载名为 "myZipFile.zip"、密码为 "myPa55word "的 ZIP 文件来创建安全的 IronZipArchive 实例。 如果文件未加密,请勿传递密码参数。 然后检索并打印条目名称列表(文件和文件夹名称)在加密的 ZIP 压缩包内。

GetArchiveEntryNames 方法收集条目名称,然后通过 for-each 循环将每个名称输出到控制台。 这展示了 IronZIP 如何以简洁的方式实现安全访问和检索受密码保护的 zip 存档中的条目信息。

输出

如何使用 C# 在文件夹中压缩文件:图 4 - 上一个代码示例的输出结果

结论

总之,IronZIP 被证明是一个用于处理 ZIP 文件的强大而通用的 C# 库。 其功能超出了基本的压缩提取提供以下功能密码保护此外,译文还必须包含以下内容:.NET、Java、Python 或 Node js;加密;与各种归档格式的兼容性。 无论您是创建备份系统、管理电子邮件附件,还是从网上下载文件,IronZIP 都能简单高效地简化这些任务。

通过将 IronZIP 集成到您的 C# 应用程序中,您将获得一个强大的工具来处理 ZIP 文件、增强数据安全性并优化文件传输过程。 您可以免费获得试用根据需要。

< 前一页
如何在C#中将Zip存档提取到目录
下一步 >
如何在VB .NET中提取Zip文件

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 5,596 查看许可证 >