GZip 档案 (.gz) 用于使用 GNU zip 压缩算法压缩一个或多个文件。它通常用于 UNIX 操作系统中的文件压缩。在本文中,您将学习如何在 C# 中以编程方式使用 GZip (.gz) 压缩文件。此外,本文还将介绍如何在 C# 中解压缩 GZip 档案。
C# GZip 压缩和解压 API - 免费下载
要使用 GZip 压缩和解压缩文件,我们将使用 Aspose.ZIP for .NET。它是一个强大的 API,可让您使用流行的存档格式,包括 ZIP、7z、GZip 等。您可以 下载 API 或使用 [NuGet] 安装它8。
PM> Install-Package Aspose.Zip
在 C# 中使用 GZip 压缩文件
以下是在 C# 中使用 GZip 压缩文件的步骤。
- 创建 GzipArchive 类的对象。
- 使用 GzipArchive.SetSource(String) 方法将文件添加到存档。
- 使用 GzipArchive.Save(String) 方法创建 GZip 存档。
以下代码示例展示了如何在 C# 中将文件压缩为 GZip。
using (GzipArchive archive = new GzipArchive())
{
// 设置源
archive.SetSource("data.bin");
// 创建存档
archive.Save("archive.gz");
}
在 C# 中解压缩 GZip 存档
以下是使用 Aspose.ZIP for .NET 在 C# 中解压缩 GZip 存档的步骤。
- 创建 GzipArchive 类的对象并使用 GZip 存档的路径对其进行初始化。
- 使用 File.Create(String) 方法为提取的内容创建一个文件。
- 使用 GZipArchive.Open() 方法打开 GZip 进行提取。
- 读取提取的内容并将其写入文件。
以下代码示例显示了如何使用 C# 解压缩 GZip 存档。
// 加载 GZip 存档
using (var archive = new GzipArchive("archive.gz"))
{
// 创建文件
using (var extracted = File.Create("data.bin"))
{
// 打开档案
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// 写入文件
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
C# 将 GZip 提取到流中
您还可以将 GZip 存档提取到内存流对象中。以下是执行此操作的步骤。
- 创建一个新的 MemoryStream 对象。
- 创建一个 GzipArchive 类的对象,并使用 GZip 存档的路径对其进行初始化。
- 使用 GZipArchive.Open().CopyTo(MemoryStream) 方法提取 GZip 并复制到内存流。
以下代码示例展示了如何使用 C# 将 GZip 存档提取到内存流中。
// 创建内存流
var ms = new MemoryStream();
// 加载 GZip 存档
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// 提取并复制到内存流
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
C# GZip 压缩和解压 API - 获取免费许可证
您可以 获得免费的临时许可证 以便在没有评估限制的情况下使用 API。
结论
在本文中,您学习了如何在 C# 中使用 GZip 压缩或解压缩文件。此外,您还了解了如何使用 C# .NET 以编程方式提取 GZip 以进行流式传输。您可以使用 documentation 探索更多关于 Aspose.ZIP for .NET 的信息。此外,您可以通过我们的 论坛 与我们联系以分享您的疑问。