如何使用 C# 將 CAB 轉換為 7ZIP
首先,您需要在 C# 專案中取得並引用 Aspose.Zip 函式庫。您通常可以從 Aspose 網站下載它或使用 NuGet 套件(如果有)。 套件管理器,搜尋 Aspose.ZIP 並安裝。您也可以從套件管理器控制台使用以下命令。
使用 Visual Studio 套件管理 NuGet 套件
套件管理器控制台命令:
PM> Install-Package Aspose.Zip
透過 C# 將 CAB 轉換為 7ZIP 的步驟
Convertation from CAB to 7ZIP 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 轉換為 7ZIP 的範例程式碼
從 CAB 到各種格式的代碼:CAB 存檔通常包含多個記錄或檔案。要將這個檔案轉換為 GZ (Gzip)、LZ (Lzip)、Z (Unix Compress)、XZ (XZ Utils) 和 BZ2 (Bzip2) 等格式,常見的方法是先將內容打包成 TAR(磁帶) 格式。這個過程讓人想起Linux環境中的典型做法。
在此轉換過程中,CAB 檔案中的每個檔案或記錄首先捆綁在一起形成一個 TAR 檔案。此 TAR 存檔可作為各個文件的容器,保留其原始結構和元資料。一旦資料被封裝在 TAR 檔案中,應用不同的壓縮演算法和格式就變得更加容易。
選擇 TAR 作為中間格式是因為它的簡單性和跨各種類別 Unix 作業系統的廣泛相容性。它提供了一種將檔案分組在一起的簡單方法,而無需直接套用壓縮。 TAR 打包完成後,可以對 TAR 檔案套用後續壓縮操作,產生所需的輸出格式,例如 GZ、LZ、Z、XZ 或 BZ2。
從 CAB 轉換為 7ZIP - C#:
using (SevenZipArchive sevenZipArchive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(1048576))))
{
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);
sevenZipArchive.CreateEntry(cabArchive.Entries[i].Name.Replace('\\', '/'), ms);
}
}
sevenZipArchive.Save("output.7z");
}
將 ZIP 轉換為 7ZIP 的免費應用程式
查看我們的現場演示,了解CAB 到 7ZIP 轉換,具有以下優勢
一個可靠的Aspose.ZIP函式庫,可以壓縮、擷取、加密、解密、轉換和合併檔案。 Aspose.ZIP for .NET API 允許操作各種存檔類型,而無需以最少的編碼工作進入壓縮檔案格式的底層複雜性。