
C# 开发人员使用 IronXL 的 Zip 存档教程
ZipArchive简介
每当想到要以压缩格式发送文件时,人们首先想到的通常是 Zip 压缩包。Zip 压缩包是一种流行的格式,可以将单个文件或整个文件集压缩打包到一个压缩包中。然而,当需要压缩的文件数量庞大时,处理起来可能会非常繁琐,因为您必须逐个进行压缩和格式化。 但事情并非一定要如此。 大量任务需要通过编程方式实现自动化。 我们可以使用IronZIP,一个简单而直观的库来实现这一切以及更多。
在本文中,我们将简要讨论IronZIP的核心功能和功能,以及如何帮助您更好地自动化工作流程,提高效率,并消除易出错的手动任务。
从文件夹或文件创建新的 zip 文件
下面的示例程序会接收多个文件,将它们压缩到一个存档中,并在操作完成后导出它们。 本文中的所有示例都包含在static void Main()方法中,以避免重复的代码块。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Create an empty ZIP archive
using (var archive = new IronZipArchive())
{
// Add files to the ZIP archive
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP archive to a file
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create an empty ZIP archive
Using archive = New IronZipArchive()
' Add files to the ZIP archive
archive.Add("./assets/image1.jpg")
archive.Add("./assets/image2.jpg")
archive.Add("./assets/image3.jpg")
' Export the ZIP archive to a file
archive.SaveAs("output.zip")
End Using
End Sub
End Class- 我们首先导入IronZIP。
- 然后,使用IronZIP,我们创建一个档案。
- 我们调用
archive.Add()以将多个文件添加到归档中。请记住,路径名称必须是绝对路径,否则操作将无法找到相应的文件。 - 最后,我们调用
output.zip。
使用新文件或修改更新现有 zip 文件
我们来看另一个例子; 这次,我们将使用新文件编辑现有的zip档案,以展示IronZIP的功能。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
// Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png");
archive.Add("./assets/image4.png");
// Export the updated ZIP archive to a new file
archive.SaveAs("result.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive
Using archive = IronZipArchive.FromFile("existing.zip")
' Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png")
archive.Add("./assets/image4.png")
' Export the updated ZIP archive to a new file
archive.SaveAs("result.zip")
End Using
End Sub
End Class- 我们首先导入IronZIP。
- 使用IronZIP,我们创建一个归档,但这次我们使用
IronZipArchive.FromFile()导入现有的zip文件。 - 我们调用
archive.Add()以将所需的文件添加到归档中。请记住,路径名称必须是绝对路径,否则操作将无法找到现有的文件。 - 最后,我们调用
result.zip。
从上面的代码可以看出,操作和格式与创建和添加文件到Zip文件时类似。主要区别在于我们导入zip文件,从而展示了IronZIP简单而直观的功能。
从 Zip 压缩包中提取文件
我们还可以使用IronZIP从Zip档案或Zip包中提取文件。 我们通过另一个例子来复习一下。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
End Sub
End Class我们导入IronZIP并调用IronZipArchive.ExtractArchiveToDirectory()。 此方法将现有 zip 压缩包的内容提取到指定的目标目录。
此外,在需要处理受密码保护的 zip 压缩文件时,我们可以使用另一种方法来提取压缩文件。
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd")
End Sub
End Class最后,我们传入另一个参数:受保护的 ZIP 压缩文件的密码。其余操作与上述相同。
进阶主题和最佳实践
上面讨论的添加、提取和创建归档文件的代码示例是处理 zip 归档文件时最常用的。 但是,对于更高级的用法,例如提取其他格式或查看存档内容,IronZIP 不仅能满足您的需求,还能提供更多功能。
IronZIP 的高级功能
*跨平台兼容性: IronZIP与多种.NET版本兼容,包括.NET Core (3.1+)、Standard (2.0+) 和.NET Framework (4.6.2+)。 该库还支持 Web(Blazor)、移动(MAUI)、桌面(WPF)和控制台。 这使得开发者能够突破平台和版本限制。
***生成归档文件:**除了 ZIP 格式外, IronZIP还支持创建 TAR、GZIP 和 BZIP2 归档文件。
***提取归档文件:**如上所示,使用IronZIP和单个代码块即可轻松提取归档文件和解压缩文件。
*添加文件和文件系统: IronZIP可以通过添加图像、文本文件和文档(例如 PDF、DOCX 和 XLSX)以及音频文件(例如 MP3 和 WAV)来辅助操作 zip 压缩包。它甚至可以将整个文件系统或单个文本文件压缩到ZipArchive 压缩包中。
***导出和创建:**您可以对符合 AES128 和 AES256 标准的归档文件进行密码保护。 此外,您还可以生成和导出 TAR、GZIP 和 BZIP2 等格式。
*自定义压缩级别: IronZIP允许开发者调整压缩设置,以根据自身需求微调算法。
***编辑归档:**使用IronZIP作为编辑相关操作的综合解决方案,轻松添加、提取或删除归档中的文件条目。
*文件条目属性: IronZIP提供了设置可选的存档注释和检索存档中文件名的功能,而无需提取它们,这有助于为每个文件留下特定的注释。
*许可选择: IronZIP提供灵活的许可选择,包括免费试用版,让开发者能够选择最适合他们需求的许可方式。
结论
处理压缩文件和归档文件是开发人员经常面临的日常任务,但管理大量此类文件可能会带来压力,并且容易出现人为错误。 虽然有 System.IO.Compression 之类的选项,但使用 IronZIP 可以实现更多功能,并在处理压缩存档时快速解决问题。 在本文中,我们讨论了 IronZIP 的高级功能和常见操作,例如创建 zip 存档、删除条目或添加文件。 了解如何使用 IronZIP 以编程方式执行这些任务,可以提高处理归档文件的效率、可扩展性和自动化程度。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章



