Hur man konverterar CAB till 7ZIP med C#

Först måste du skaffa och referera till Aspose.Zip-biblioteket i ditt C#-projekt. Du kan vanligtvis ladda ner det från Asposes webbplats eller använda ett NuGet-paket om det finns. Pakethanterare, sök efter Aspose.ZIP och installera. Du kan också använda följande kommando från Package Manager Console.

Hantera NuGet-paket med Visual Studio-paketet

Pakethanterarens konsolkommando:

PM> Install-Package Aspose.Zip

Steg för att konvertera CAB till 7ZIP via C#

Convertation from CAB to 7ZIP consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

Systemkrav

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.

Exempelkod för att konvertera från CAB till 7ZIP

Kod från CAB till olika format: CAB-arkivet innehåller vanligtvis flera poster eller filer. För att konvertera detta arkiv till format som GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) och BZ2 (Bzip2), är ett vanligt tillvägagångssätt att först paketera innehållet i en TAR (Tape) Arkiv) format. Denna process påminner om den typiska praxis i Linux-miljöer.

I denna konverteringsprocess buntas varje fil eller post i CAB-arkivet först ihop till ett enda TAR-arkiv. Detta TAR-arkiv fungerar som en behållare för de enskilda filerna och bevarar deras ursprungliga struktur och metadata. När data väl är inkapslade i TAR-arkivet blir det lättare att tillämpa olika komprimeringsalgoritmer och format.

Valet av TAR som mellanformat beror på dess enkelhet och breda kompatibilitet över olika Unix-liknande operativsystem. Det ger ett enkelt sätt att gruppera filer utan att tillämpa komprimering direkt. Efter att TAR-paketeringen är klar kan efterföljande komprimeringsoperationer tillämpas på TAR-arkivet för att generera önskade utdataformat, såsom GZ, LZ, Z, XZ eller BZ2.

Konvertera från CAB till 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");
    }



Gratis app för att konvertera ZIP till 7ZIP

Se våra livedemonstrationer för CAB till 7ZIP-konvertering med följande fördelar


Ett pålitligt Aspose.ZIP-bibliotek som kan komprimera, extrahera, kryptera, dekryptera, konvertera och slå samman arkiv. Aspose.ZIP för .NET API gör det möjligt att manipulera olika arkivtyper utan att gå in på den underliggande komplexiteten hos komprimeringsfilformaten med minimala kodningsinsatser.

Andra CAB-konverteringar som stöds

Du kan också konvertera CAB till många andra filformat inklusive några som anges nedan.