ZIP 是一种流行的存档格式,用于压缩文件和文件夹。 ZIP 通过减小文件大小并将它们保存在一个文件中,可以更轻松地共享多个文件。另一方面,TAR 是一种著名的基于 Unix 的归档格式,用于在共享之前打包文件。在各种情况下,您必须将 ZIP 档案转换为 TAR 格式。为了以编程方式实现这一点,本文展示了如何在 C# 中将 ZIP 存档转换为 TAR。
C# .NET API 将 ZIP 转换为 TAR
要将 ZIP 存档转换为 TAR 格式,我们将使用 Aspose.ZIP for .NET。 API 提供了广泛的功能来创建和操作 ZIP、TAR 和其他流行的归档格式。您可以 下载 API 的 DLL 或从 NuGet 安装它。
PM> Install-Package Aspose.Zip
在 C# 中将 ZIP 存档转换为 TAR
使用 Aspose.ZIP for .NET 将 ZIP 转换为 TAR 非常简单。只需加载 ZIP 文件,将其条目传输到 TAR 存档,然后将 TAR 存档保存到您想要的位置。以下是在 C# 中将 ZIP 存档转换为 TAR 的步骤。
- 使用 Archive 类加载 ZIP 文件。
- 为 TAR 归档创建一个 TarArchive 类的对象。
- 使用 Archive.Entries 集合访问 ZIP 中的每个 ArchiveEntry。
- 对于 ZIP 存档中的每个条目,执行以下步骤:
- 使用 ArchiveEntry.Open().CopyTo(MemoryStream) 方法将条目复制到 MemoryStream 对象中。
- 使用 TarArchive.CreateEntry(String, MemoryStream) 方法将条目传输到 TAR 存档。
- 最后,使用 TarArchive.Save(String) 方法将 TAR 存档保存到您想要的位置。
以下代码示例显示了如何在 .NET 应用程序中将 ZIP 存档转换为 TAR 格式。
// 加载 ZIP 文件
using (Archive source = new Archive("source.zip"))
{
// 为 TAR 归档创建一个 TarArchive 对象
using (TarArchive tar = new TarArchive())
{
// 遍历条目
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
// 将条目复制到 TAR
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
// 保存 TAR 存档
tar.Save("result.tar");
}
}
获取免费 API 许可证
您可以获得 免费的临时许可证 以使用 Aspose.ZIP for .NET,而不受评估限制。
结论
在通过 Internet 共享文件之前,通常需要将 ZIP 存档转换为 TAR 格式。因此,在本文中,您学习了如何在 C# 中以编程方式将 ZIP 存档转换为 TAR。您可以简单地安装 Aspose.ZIP for .NET 并嵌入提供的代码以在您的 .NET 应用程序中执行 ZIP 到 TAR 的转换。此外,您可以访问 文档 以了解更多关于 Aspose.ZIP for .NET 的信息。此外,您可以通过我们的 论坛 与我们分享您的疑问。