C# ZIP 文件(使用 IronZIP 的开发人员教程)
ZIP \u662f\u4e00\u79cd\u6d41\u884c\u7684\u65b9\u6cd5\uff0c\u53ef\u4ee5\u4f7f\u7528 FileStream \u9ad8\u6548\u5730\u5c06\u591a\u4e2a\u6587\u4ef6\u548c\u6587\u4ef6\u5939\u538b\u7f29\u5e76\u5408\u5e76\u6210\u4e00\u4e2a\u7edf\u4e00\u7684 ZIP \u538b\u7f29\u5305\u3002 在 C# 中使用这些文件变得很容易,使用 IronZIP 命名空间,该命名空间提供类来创建并从路径中提取现有的 ZIP 文件,也可操作 ZIP 存档。 无论您是在压缩文件、处理受密码保护的 ZIP 还是解压缩文件,IronZIP 命名空间中的 ZipFile 类都是您不可或缺的伙伴。
在此教程中,我们不仅探索了创建和提取 ZIP 归档文件的基本流程,还学习了实现它的代码示例。 ZipArchive 类无缝进阶到字符串路径,使您能够以无与伦比的精确度导航和操控 ZIP 文件。
此外,除了 ZIP 操作之外,我们还将探讨 IronPDF,一种在不影响文档完整性的前提下压缩 PDF 文件的工具。 IronZIP 和 IronPDF 的搭配为开发人员提供了一套强大的工具,可以在 C# 环境中高效管理压缩文件并简化 PDF。
前提条件
在您探索使用 IronZIP 和 IronPDF 操作 ZIP 文件之前,请确保满足以下先决条件:
- Visual Studio: 安装 Visual Studio 或任何其他您选择的 C# 集成开发环境 (IDE)。
- 基本 C# 知识: 熟悉 C# 编程语言的基本概念。
安装 IronZIP 包
要开始使用 IronZIP,只需在您的项目中快速安装 IronZIP NuGet 包。 在 NuGet 包管理器控制台中执行以下命令:
Install-Package IronZip
或者,直接从 IronZIP 官方 NuGet 网站 下载包。
安装完成后,在您的 C# 代码开头添加 using IronZip; 语句以开始使用。
应用许可证密钥
确保您拥有有效的 IronZIP 许可证或试用密钥。通过将许可证密钥赋值给 License 类的 LicenseKey 属性来应用许可证密钥。 在导入语句之后并在使用任何 IronZIP 方法之前立即包含以下代码:
using IronZip;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Apply the IronZIP license key
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
// Your ZIP manipulation code using IronZIP
}
}
}using IronZip;
namespace YourNamespace
{
class Program
{
static void Main(string[] args)
{
// Apply the IronZIP license key
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
// Your ZIP manipulation code using IronZIP
}
}
}Imports IronZip
Namespace YourNamespace
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Apply the IronZIP license key
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01"
' Your ZIP manipulation code using IronZIP
End Sub
End Class
End Namespace这一步对于释放 IronZIP 在您的项目中的全部潜力至关重要。
创建一个 ZIP 文件
使用 IronZIP 创建一个 ZIP 文件很简单。 利用 IronArchive 类创建一个空的 ZIP 存档,然后向其中添加文件。 以下代码段演示了创建名为 "Images.zip" 的 ZIP 文件并添加四个图像文件的过程:
using IronZip;
namespace CSharpZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Create an archive called Images.zip
using (var archive = new IronArchive("Images.zip"))
{
// Add files to the ZIP
archive.Add(@"E:\Datasets\1002-v1.png");
archive.Add(@"E:\Datasets\1002-v2.png");
archive.Add(@"E:\Datasets\1002-v3.png");
archive.Add(@"E:\Datasets\1002-v4.png");
} // The archive is automatically closed here
}
}
}using IronZip;
namespace CSharpZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Create an archive called Images.zip
using (var archive = new IronArchive("Images.zip"))
{
// Add files to the ZIP
archive.Add(@"E:\Datasets\1002-v1.png");
archive.Add(@"E:\Datasets\1002-v2.png");
archive.Add(@"E:\Datasets\1002-v3.png");
archive.Add(@"E:\Datasets\1002-v4.png");
} // The archive is automatically closed here
}
}
}Imports IronZip
Namespace CSharpZipArchive
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create an archive called Images.zip
Using archive = New IronArchive("Images.zip")
' Add files to the ZIP
archive.Add("E:\Datasets\1002-v1.png")
archive.Add("E:\Datasets\1002-v2.png")
archive.Add("E:\Datasets\1002-v3.png")
archive.Add("E:\Datasets\1002-v4.png")
End Using ' The archive is automatically closed here
End Sub
End Class
End Namespaceusing 语句创建了 IronArchive 类的一个有范围的实例,并将其与变量 archive 关联。 IronArchive 构造函数接受一个参数:ZIP 文件的名称(在本例中为 "Images.zip")。
代码将四个文件添加到由 archive 变量表示的 ZIP 存档中。 文件通过其完整路径指定:
- E:\Datasets\1002-v1.png
- E:\Datasets\1002-v2.png
- E:\Datasets\1002-v3.png
- E:\Datasets\1002-v4.png
由于 IronArchive 类实现了 IDisposable,使用 using 语句可以确保存档正确关闭并在退出代码块时释放资源。
通过这种方式,该程序创建了一个名为 "Images.zip" 的 ZIP 存档并向其中添加了四个图像文件。 IronZip 使这一过程超级简单、快速和高效。
提取 ZIP 文件
我们可以使用一行代码在 C# 中提取 ZIP 文件。
using IronZip;
namespace YourNamespace
{
public class ExtractionExample
{
public static void Main(string[] args)
{
// Extract contents of the ZIP archive
IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
}
}using IronZip;
namespace YourNamespace
{
public class ExtractionExample
{
public static void Main(string[] args)
{
// Extract contents of the ZIP archive
IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
}
}Imports IronZip
Namespace YourNamespace
Public Class ExtractionExample
Public Shared Sub Main(ByVal args() As String)
' Extract contents of the ZIP archive
IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images")
End Sub
End Class
End Namespace上述代码提取了名为 "Images.zip" 的 ZIP 存档文件的内容。 提取的文件被放置在名为 "Extracted Images" 的目录中。 IronArchive 类提供了 ExtractArchiveToDirectory 方法来高效提取 ZIP 文件的内容。
这句简洁的代码有效地处理了提取过程,简化了文件管理。
使用 C# 向现有的 ZIP 文件添加文件
在 C# 软件应用中,向现有 ZIP 文件添加文件对于动态内容管理来说很有价值。 想象一个文件管理应用程序,用户可以轻松通过添加新文件来扩展压缩存档。 IronZIP 提供了无缝的功能来修改任何现有的 ZIP 文件。
using IronZip;
namespace CSharpZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Open an existing ZIP file and create a new one
using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
// Add new files to the ZIP
archive.Add(@"E:\Datasets\1011-v1.png");
archive.Add(@"E:\Datasets\1011-v2.png");
} // The new archive is automatically closed here
}
}
}using IronZip;
namespace CSharpZipArchive
{
internal class Program
{
static void Main(string[] args)
{
// Open an existing ZIP file and create a new one
using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
// Add new files to the ZIP
archive.Add(@"E:\Datasets\1011-v1.png");
archive.Add(@"E:\Datasets\1011-v2.png");
} // The new archive is automatically closed here
}
}
}Imports IronZip
Namespace CSharpZipArchive
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP file and create a new one
Using archive = IronArchive.FromFile("Images.zip", "NewImages.zip")
' Add new files to the ZIP
archive.Add("E:\Datasets\1011-v1.png")
archive.Add("E:\Datasets\1011-v2.png")
End Using ' The new archive is automatically closed here
End Sub
End Class
End NamespaceIronArchive.FromFile("Images.zip", "NewImages.zip") 方法从名为 "Images.zip" 的现有 ZIP 文件创建了一个存档对象,并指定新存档应命名为 "NewImages.zip"。
在 using 块内的两行代码将文件添加到新创建的存档中:
archive.Add(@"E:\Datasets\1011-v1.png");archive.Add(@"E:\Datasets\1011-v2.png");
这些行将指定的图像文件添加到 "NewImages.zip" 存档中。

压缩 PDF 文件
除了管理 ZIP 文件之外,C# 还提供了无缝压缩 PDF 文件的功能。 借助第三方库:IronPDF,这项任务得以实现。 它作为 压缩 PDF 的可靠解决方案,能够保持其质量。
介绍IronPDF
IronPDF 是一个多功能的 C# 库,旨在支持开发人员在其 .NET 应用程序中高效处理 PDF 文档。 它提供了许多功能,包括 PDF 生成、操作、文本和图像提取、表单处理、数字签名、HTML 转 PDF 转换、PDF 压缩和安全增强。 这些功能使其成为在 .NET 框架中执行 PDF 创建、编辑、报表生成和文档管理等任务的无价工具,确保生产力和 PDF 操作的定制化能力。
安装IronPDF
要将 IronPDF 集成到您的项目中,请在包管理器控制台中执行以下命令:
Install-Package IronZip
编写 C# 代码压缩 PDF 文件
以下代码示例演示了在保持存档质量的同时压缩 PDF 文件。
using IronPdf;
namespace YourNamespace
{
internal class Program
{
static void Main(string[] args)
{
// Load the PDF document
var pdf = new PdfDocument(@"E:\myPDF.pdf");
// Compress images in the PDF to 60% of original quality
pdf.CompressImages(60);
// Save the compressed PDF
pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
}
}using IronPdf;
namespace YourNamespace
{
internal class Program
{
static void Main(string[] args)
{
// Load the PDF document
var pdf = new PdfDocument(@"E:\myPDF.pdf");
// Compress images in the PDF to 60% of original quality
pdf.CompressImages(60);
// Save the compressed PDF
pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
}
}Imports IronPdf
Namespace YourNamespace
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Load the PDF document
Dim pdf = New PdfDocument("E:\myPDF.pdf")
' Compress images in the PDF to 60% of original quality
pdf.CompressImages(60)
' Save the compressed PDF
pdf.SaveAs("E:\myCompressedPDF.pdf")
End Sub
End Class
End Namespace在上面的代码中,我们使用 IronPDF 打开 "myPDF.pdf"。 CompressImages 方法将图像质量降低到 60%,压缩后的 PDF 保存在指定位置的 "myCompressedPDF.pdf" 中。
输出
执行上述代码会产生有形的文件大小减少,如输出所示,压缩后的 PDF 尺寸从原 0.9 MB 缩小到 254 KB。这展示了 IronPDF 在高效压缩 PDF 文件而不影响其质量方面的有效性。

使用 IronZIP 和 IronPDF 在 C# 中高效管理文件
在 C# 开发中,IronZIP 和 IronPDF 的组合为全面的文件管理提供了一种强大的解决方案。 IronZIP 在高效压缩和操作 ZIP 文件方面表现出色,为开发人员提供了无缝的创建和提取存档的体验。 同时,IronPDF 是一个强大的工具,用于处理 PDF 文档,使文件压缩时依然保持文档的完整性。 这种集成使开发人员能够在压缩存档和 PDF 文件间轻松切换,提升了应用程序的整体功能和性能。
无论是将多样化文件压缩到一个 ZIP 存档,还是优化 PDF 文档的大小,IronZIP 和 IronPDF 联合起来形成了一个灵活的开发工具包,解决了一系列与文件有关的挑战。
结论
总之,IronZIP 为 C# 提供了强大的能力来处理压缩文件,使开发人员能够高效地创建 ZIP 文件、提取并操作存档。 IronPDF 也是用于压缩 PDF 文件的强大工具,使其易于在保持文档完整性的同时缩小文件大小。 开发人员可以利用这些功能来提升应用程序的性能和功能,确保无缝处理归档和压缩文件。 此外,值得注意的是,IronPDF 提供了一种灵活的许可模式,包括 免费试用,允许开发人员探索其功能并确定最适合其项目的方案。 这一试用期为开发人员提供了一个有价值的机会来评估 IronZIP 和 IronPDF 的功能,从而决定是否进行 许可。
常见问题解答
如何在 C# 中创建一个 ZIP 文件?
要在 C# 中创建一个 ZIP 文件,您可以使用 IronZIP 库中的 IronArchive 类。该类允许您创建一个空的 ZIP 压缩包并添加文件,提供高效的方法来管理 ZIP 内容。
如何在 C# 中从 ZIP 压缩包中提取文件?
可以使用 IronZIP 库的 IronArchive 类中的 ExtractArchiveToDirectory 方法从 ZIP 压缩包中提取文件。该方法允许您指定要提取文件的目录。
我可以在 C# 中处理密码保护的 ZIP 文件吗?
是的,IronZIP 提供了管理密码保护的 ZIP 文件的功能,能够安全地压缩和提取敏感数据。
在 C# 中安装 ZIP 库包的步骤是什么?
要安装 IronZIP 库,请在 NuGet 包管理器控制台中使用命令 Install-Package IronZip,或直接从官方网站下载。
如何在 C# 中为 ZIP 库应用许可证密钥?
要为 IronZIP 应用许可证密钥,请在应用程序中将您的许可证密钥分配给 Licensing.License 类的 LicenseKey 属性。
如何在 C# 中压缩 PDF 文件?
要在 C# 中压缩 PDF 文件,可以使用 IronPDF。加载 PDF 文档并应用 CompressImages 方法以降低图像质量,然后将压缩的 PDF 保存到所需位置。
C# 的 PDF 库是否提供试用版?
是的,IronPDF 提供免费试用版,允许开发者在签署许可协议之前探索其功能。
在 C# 中处理 ZIP 和 PDF 文件的先决条件是什么?
在 C# 中处理 ZIP 和 PDF 文件,您需要安装 Visual Studio 或类似的 C# 集成开发环境,并具备 C# 编程概念的基本理解。您还需要 IronZIP 和 IronPDF 库。
一种用于处理 ZIP 文件的 C# 工具是什么?
IronZIP 是一个 C# 库,设计用于高效地创建、操作和提取 ZIP 压缩包,是开发人员在 .NET 应用程序中处理 ZIP 文件的理想选择。








