Come convertire CAB in 7ZIP usando C#

Per prima cosa, procurati e referenzia la libreria Aspose.Zip nel tuo progetto C#. In genere puoi scaricarla dal sito Aspose oppure usare un pacchetto NuGet, se disponibile. Nel Gestore pacchetti, cerca Aspose.ZIP e installalo. Puoi anche usare il seguente comando dalla Console di Gestione pacchetti.

Gestisci i pacchetti NuGet con il Gestore pacchetti di Visual Studio

Comando della Console del Gestore pacchetti:

PM> Install-Package Aspose.Zip

Passaggi per convertire CAB in 7ZIP tramite C#

Convertation from CAB to 7ZIP consist of following steps:

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

Requisiti di sistema

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.

Esempio di codice per convertire da CAB a 7ZIP

Codice da CAB a vari formati: un archivio CAB contiene in genere più record o file. Per convertire questo archivio in formati come GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) e BZ2 (Bzip2), un approccio comune consiste prima nell’impacchettare i contenuti in un formato TAR (Tape Archive). Questo processo è analogo alla prassi tipica negli ambienti Linux.

In questa procedura, ogni file o record nell’archivio CAB viene inizialmente raggruppato in un unico archivio TAR. L’archivio TAR funge da contenitore per i singoli file, preservandone la struttura e i metadati originali. Una volta incapsulati i dati nell’archivio TAR, diventa più semplice applicare diversi algoritmi e formati di compressione.

La scelta di TAR come formato intermedio è dovuta alla sua semplicità e all’ampia compatibilità con i sistemi operativi di tipo Unix. Offre un modo semplice per raggruppare i file senza applicare direttamente la compressione. Dopo il confezionamento TAR, è possibile applicare operazioni di compressione successive all’archivio TAR per ottenere i formati di output desiderati, come GZ, LZ, Z, XZ o BZ2.

Conversione da CAB a 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");
    }



App gratuita per convertire ZIP in 7ZIP

Consulta le nostre demo live per la conversione da CAB a 7ZIP con i seguenti vantaggi


Una libreria Aspose.ZIP affidabile che può comprimere, estrarre, crittografare, decrittografare, convertire e unire archivi. L’API Aspose.ZIP for .NET consente di manipolare vari tipi di archivi senza affrontare la complessità dei formati di compressione sottostanti, con il minimo sforzo di codifica.

Altre conversioni CAB supportate

Puoi anche convertire CAB in molti altri formati di file, tra cui i seguenti.