想要以编程方式在C#中创建和提取GZip存档吗?Aspose.ZIP帮你轻松搞定

  • 在C#中创建GZip存档
  • 在C#中提取GZip存档
  • 将GZip存档提取到C#流中

要将文件压缩到GZip存档中,我们将使用Aspose.ZIP for .NET。它是一个功能强大的API,可让您使用流行的存档格式,包括ZIP,7z,GZip等。如果你还没有用过Aspose.Zip,可以点击这里下载最新版测试。

在C#中创建GZip存档

以下是使用C#将文件压缩到GZip存档中的步骤。

  • 创建一个GzipArchive类的对象。
  • 使用GzipArchive.SetSource(String)方法将文件添加到存档。
  • 使用GzipArchive.Save(String)方法创建GZip存档。

以下代码示例显示了如何使用C#创建GZip存档。

using (GzipArchive archive = new GzipArchive()){    // set source    archive.SetSource("data.bin");     // create archive    archive.Save("archive.gz");}

在C#中提取GZip存档

以下是使用Aspose.ZIP for .NET提取GZip存档的步骤。

  • 创建GzipArchive类的对象,并使用GZip存档的路径对其进行初始化。
  • 使用File.Create(String)方法为提取的内容创建文件。
  • 使用GZipArchive.Open()方法打开GZip进行提取。
  • 读取提取的内容并将其写入文件。

以下代码示例显示了如何使用C#提取GZip存档。

// load the GZip archiveusing (var archive = new GzipArchive("archive.gz")){    // create a file    using (var extracted = File.Create("data.bin"))    {        // open archive        var unpacked = archive.Open();        byte[] b = new byte[8192];        int bytesRead;        // write to file        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length))) extracted.Write(b, 0, bytesRead); } }

将GZip存档提取到C#流中

还可以将GZip存档提取到内存流对象中。以下是执行此操作的步骤。

  • 创建一个新的MemoryStream对象。
  • 创建一个GzipArchive类的对象,并使用GZip存档的路径对其进行初始化。
  • 提取GZip并使用GZipArchive.Open()。CopyTo(MemoryStream)方法复制到内存流。

下面的代码示例演示如何使用C#将GZip存档提取到内存流中。

// create a memory streamvar ms = new MemoryStream();// load GZip archiveusing (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz"))){    // extract and copy to memory stream    archive.Open().CopyTo(ms);    Console.WriteLine(archive.Name);}

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月8日
下一篇 2021年4月8日

相关推荐

发表回复

登录后才能评论