超大压缩包分拆、在C#中合并多个ZIP或TAR文件

我们生活中经常会遇到多个压缩包分拆和合并的情况,比如一个游戏安装包达50G的时候,厂商经常会将压缩包分拆为50个左右,待下载到本地后执行合并、解压和安装步骤。

超大压缩包分拆、在C#中合并多个ZIP或TAR文件

除了在游戏板块会经常遇到压缩包分拆、合并,在我们企业中也会经常遇到,例如我们网站服务器切换,需要将数百个G的内容打包后传输,如果我们做几百G文件压缩到1个包,那么传输起来会非常麻烦,比如100G资料传输到99.99%的时候突然中断,这无疑让运维突发脑溢血。

那么我们在游戏行业、运维行业等推荐Aspose.ZIP for .NET的这个方案!

当在你的.NET应用程序中处理档案时,你可能需要合并多个ZIP或TAR文件。例如,你可能想从多个档案中提取文件和文件夹,并把它们放到一个单一的档案中。为了实现这一点,本文介绍了如何在C#中合并多个ZIP或TAR文件。我们将涵盖ZIP到ZIP,TAR到TAR,ZIP到TAR,以及TAR到ZIP的合并。

合并ZIP和TAR文件的C# .NET API

为了合并多个ZIP和TAR档案,我们将利用Aspose.ZIP for .NET。它是一个功能丰富的.NET API,允许你创建和操作各种流行的档案格式。你可以下载该API的DLL或者直接使用NuGet安装它。

PM> Install-Package Aspose.Zip

或者直接点击这里下载Aspose.ZIP for .NET类库

在C#中合并多个ZIP文件

让我们开始我们的合并档案与ZIP格式的旅程。我们将采取两个ZIP档案,并收集其条目到一个单一的ZIP文件。以下是在C#中合并多个ZIP文件的步骤。

  • 使用Archive类加载第一个ZIP文件。
  • 同样地,使用Archive类加载第二个ZIP文件。
  • 现在,使用Archive.Entries集合循环浏览第一个ZIP的条目。
  • 使用ArchiveEntry.Open().CopyTo(MemoryStream)方法,将每个ArchiveEntry复制到MemoryStream对象中。
  • 使用Archive.CreateEntry(string, MemoryStream)方法向第二个ZIP添加条目。
  • 使用Archive.Save(string)方法将合并后的ZIP保存为一个单独的文件。

在C#中合并多个TAR文件

现在让我们来看看如何在C#中合并多个TAR档案。以下是实现这一目的的步骤。

  • 使用TarArchive类加载第一个TAR文件。
  • 同样地,使用TarArchive类加载第二个TAR文件。
  • 现在,使用TarArchive.Entries集合循环浏览第一个TAR的条目。
  • 使用TarEntry.Open().CopyTo(MemoryStream)方法将每个TarEntry复制到一个MemoryStream对象。
  • 使用TarArchive.CreateEntry(string, MemoryStream)方法向第二个TAR添加条目。
  • 使用TarArchive.Save(string)方法保存合并后的TAR。

用C#语言将ZIP合并成TAR

在本节中,我们将看到如何在C#中把ZIP文件合并到TAR档案中。以下是执行这一操作的步骤。

  • 使用Archive类加载ZIP文件。
  • 使用TarArchive类加载TAR文件。
  • 现在,使用Archive.Entries集合循环浏览ZIP的条目。
  • 使用ArchiveEntry.Open().CopyTo(MemoryStream)方法将每个ArchiveEntry复制到一个MemoryStream对象。
  • 使用TarArchive.CreateEntry(string, MemoryStream)方法将条目添加到TAR中。
  • 使用TarArchive.Save(string)方法保存TAR文件。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月7日
下一篇 2022年1月7日

相关推荐

发表回复

登录后才能评论