如何使用 C# 将 RAR 转换为 TAR.GZ
首先,您需要在 C# 项目中获取并引用 Aspose.Zip 库。您通常可以从 Aspose 网站下载它或使用 NuGet 包(如果有)。 包管理器,搜索 Aspose.ZIP 并安装。您还可以从包管理器控制台使用以下命令。
使用 Visual Studio 包管理 NuGet 包
包管理器控制台命令:
PM> Install-Package Aspose.Zip
通过 C# 将 RAR 转换为 TAR.GZ 的步骤
Convertation from RAR to TARGZ consist of following steps:
- Extract archive to intermediate storage
- Compress extracted data to desired format
系统要求
Before running the conversion example code, make sure that you have the following prerequisites.
- Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
- Development environment like Microsoft Visual Studio.
- Aspose.Tasks for .NET DLL referenced in your project.
从 RAR 转换为 TAR.GZ 的示例代码
将 RAR 存档转换为 TAR.GZ 格式涉及在具有不同特征的两种压缩格式之间进行转换。 RAR 存档以其强大的压缩能力和广泛的使用而闻名。当将它们转换为类 Unix 系统中常用的 TAR.GZ 档案时,原始文件结构和数据在转换过程中会被仔细保留。这可确保内容保持可访问性和完整性,使其适合 Unix 环境中的特定用例。
但是,重要的是要考虑到 TAR.GZ 存档可能无法提供与 RAR 存档相同级别的压缩效率。因此,用户在决定执行此转换时应权衡自己的要求,包括压缩需求和与目标系统的兼容性。将 RAR 转换为 TAR.GZ 对于需要使 RAR 存档适应特定的基于 Unix 的场景,同时保持数据结构和完整性的用户来说非常有价值。
将 RAR 转换为各种格式的代码:RAR 存档通常包含多个记录或文件。要将这个存档转换为 GZ (Gzip)、LZ (Lzip)、Z (Unix compress)、XZ (XZ Utils) 和 BZ2 (Bzip2) 等格式,常见的方法是首先将内容打包成 TAR.GZ (磁带存档)格式。此过程让人想起 Linux 环境中的典型做法。
在此转换过程中,RAR 存档中的每个文件或记录首先捆绑在一起,形成一个 TAR.GZ 存档。此 TAR.GZ 存档用作各个文件的容器,保留其原始结构和元数据。一旦数据被封装在 TAR.GZ 存档中,应用不同的压缩算法和格式就变得更加容易。
选择 TAR.GZ 作为中间格式是因为它的简单性和跨各种类 Unix 操作系统的广泛兼容性。它提供了一种将文件分组在一起的简单方法,而无需直接应用压缩。 TAR.GZ 打包完成后,可以对 TAR.GZ 存档应用后续压缩操作,以生成所需的输出格式,例如 GZ、LZ、Z、XZ 或 BZ2。
从 RAR 转换为 TAR.GZ - C#:
using (TarArchive tarArchive = new TarArchive())
{
using (RarArchive rar = new RarArchive(@"archive.rar"))
{
for (int i = 0; i < rar.Entries.Count; i++)
{
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
tarArchive.CreateEntry(rar.Entries[i].Name, ms);
}
else
tarArchive.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
tarArchive.SaveGzipped("output.tar.gz");
}
将 ZIP 转换为 TAR.GZ 的免费应用程序
查看我们的RAR 到 TAR.GZ 转换的现场演示,具有以下优点
一个可靠的Aspose.ZIP库,可以压缩、提取、加密、解密、转换和合并档案。 Aspose.ZIP for .NET API 允许操作各种存档类型,而无需以最少的编码工作进入压缩文件格式的底层复杂性。