在 C# 中将 ZIP 转换为 TAR

在 C# 中将 ZIP 转换为 TAR

ZIP 归档格式是众所周知的,广泛用于将文件和文件夹压缩成单个压缩文件。而 TAR 是另一种基于 UNIX 的文件格式,可将各种文件压缩到一个位置。事实上,文件压缩是任何在线业务中必不可少的组件,因为它可以减小文件大小并使文件在 Internet 上的传输速度更快。大多数时候,TAR 是首选,因为它保留了权限和规定。在这篇博文中,我们将学习如何在 .NET 应用程序中以编程方式将 ZIP 转换为 C# 中的 TAR。

我们将介绍以下部分:

ZIP 到 TAR 转换器 API 安装

我们将使用这个 .NET ZIP 以编程方式实现 ZIP 到 TAR 的转换。它是一个轻量级的库,用于压缩和解压缩各种类型的存档格式。

您可以通过下载 DLL 文件或通过在 NuGet 包管理器中运行以下命令来安装此 API。

Install-Package Aspose.Zip 

以编程方式在 C# 中将 ZIP 转换为 TAR

ZIP to TAR 转换器 API 提供将 ZIP 格式转换为 TAR 文件格式的方法和属性。但是,您可以浏览可用方法列表 此处

按照以下步骤实现此转换:

  1. 实例化 Archive 类的实例并加载源 ZIP 文件。
  2. 创建 TarArchive 类的对象以访问 TAR 功能。
  3. 创建 ArchiveEntry 类的对象以访问 ZIP 中的每个 ArchiveEntry。
  4. 初始化 MemoryStream 类的对象并使用 entry.Open().CopyTo(mem) 方法复制条目。
  5. 调用 CreateEntry 方法在 TAR 存档中创建单个条目。
  6. 通过调用 SaveGzipped 方法保存 TAR 文件。

将以下代码段复制并粘贴到您的主文件中并运行服务器:

 // 实例化 Archive 类的实例并加载源 ZIP 文件 
            using (Archive source = new Archive("CompressDirectory_out.zip"))
            {
                // 创建 TarArchive 类的对象以访问 TAR 功能   
                using (TarArchive tar = new TarArchive())
                {
                    // 创建 ArchiveEntry 类的对象以访问 ZIP 中的每个 ArchiveEntry 
                    {
                        if (!entry.IsDirectory)
                        { 
                            // 初始化 MemoryStream 类的对象并使用 entry.Open().CopyTo(mem) 方法复制条目   
                            MemoryStream mem = new MemoryStream();
                            entry.Open().CopyTo(mem); 
                            // 调用 CreateEntry 方法在 TAR 归档中创建单个条目。             
                            tar.CreateEntry(entry.Name, mem);
                        }
                    }
                    // 通过调用 SaveGzipped 方法保存 TAR 文件。 
                    tar.SaveGzipped("result.tar.gz");
                }
            }

获得免费许可证

您可以使用 免费临时许可证 来试用 API,而不受评估限制。

加起来

我们将在这里结束这篇博文。我们已经使用这个 .NET ZIP 实现了在 C# 中将 ZIP 转换为 TAR 的过程。此外,如果您想在 .NET 应用程序中集成 ZIP 到 TAR 转换 API,本文肯定会帮助您。此外,您可以访问该库的 文档 以了解其他方法和属性。最后,conholdate.com 正在撰写有关其他主题的新博客文章。因此,请保持联系以获取定期更新。

问一个问题

您可以在我们的 论坛 上告诉我们您的问题或疑问。

也可以看看