如何使用 C# 將 CAB 轉換為 TAR.GZ

首先,您需要在 C# 專案中取得並引用 Aspose.Zip 函式庫。您通常可以從 Aspose 網站下載它或使用 NuGet 套件(如果有)。 套件管理器,搜尋 Aspose.ZIP 並安裝。您也可以從套件管理器控制台使用以下命令。

使用 Visual Studio 套件管理 NuGet 套件

套件管理器控制台命令:

PM> Install-Package Aspose.Zip

透過 C# 將 CAB 轉換為 TAR.GZ 的步驟

Convertation from CAB 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.

從 CAB 轉換為 TAR.GZ 的範例程式碼

將 CAB 存檔轉換為各種格式的過程需要有條不紊且精確的方法。通常,CAB 檔案包含大量文件或記錄,每個文件或記錄都包含有價值的資料。為了促進向 GZ (Gzip)、LZ (Lzip)、Z (Unix Compress)、XZ (XZ Utils) 和 BZ2 (Bzip2) 等格式的轉換,通常採用的策略需要將這些內容最初合併到 TAR 中。GZ ( Gzip 壓縮的磁帶存檔)格式。

此方法反映了Linux 環境中的成熟實踐,其中TAR.GZ 存檔充當適應性容器。在轉換過程中,CAB 檔案中的每個單獨檔案或記錄都被精心安排在統一的 TAR.GZ 檔案中。這個 TAR.GZ 存檔充當一個有凝聚力的儲存庫,孜孜不倦地保留原始文件結構和相關元資料。這種對TAR.GZ 格式的封裝簡化了各種壓縮演算法和格式的後續應用。

TAR.GZ 作為中間格式的偏好是基於其固有的簡單性和跨各種類Unix 操作的出色相容性系統。它無需立即應用壓縮即可將文件分組在一起的能力使其成為務實的選擇。成功打包成 TAR.GZ 後,可以應用後續壓縮操作來產生所需的輸出格式,包括 GZ、LZ、Z、XZ 或 BZ2。

本質上,這個綜合過程確保了將最初儲存在CAB 檔案中的資料轉換為多種格式,從而提供跨各種用例的適應性和相容性。

從 CAB 轉換為 TAR.GZ - C#:

    using (TarArchive tarArchive = new TarArchive())
    {
        using (CabArchive cabArchive = new CabArchive("archive.cab"))
        {
            for (int i = 0; i < cabArchive.Entries.Count; i++)
            {
                var ms = new MemoryStream();
                cabArchive.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                tarArchive.CreateEntry(cabArchive.Entries[i].Name.Replace('\\', '/'), ms);
            }
        }

        tarArchive.SaveGzipped("output.tar.gz");
    }



將 CAB 轉換為 TAR.GZ 的免費應用程式

查看我們的CAB 到 TAR.GZ 轉換的現場演示,具有以下優勢


一個可靠的Aspose.ZIP函式庫,可以壓縮、擷取、加密、解密、轉換和合併檔案。 Aspose.ZIP for .NET API 允許操作各種存檔類型,而無需以最少的編碼工作進入壓縮檔案格式的底層複雜性。

其他支援的 CAB 轉換

您也可以將 CAB 轉換為許多其他檔案格式,包括下面列出的幾種。