Como converter CAB para 7ZIP usando C#

Primeiro, você precisa obter e referenciar a biblioteca Aspose.Zip em seu projeto C#. Normalmente, você pode baixá-lo do site Aspose ou usar um pacote NuGet, se disponível. Gerenciador de pacotes, procure Aspose.ZIP e instale. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.

Gerenciar pacotes NuGet com o pacote Visual Studio

Comando do console do gerenciador de pacotes:

PM> Install-Package Aspose.Zip

Etapas para converter CAB em 7ZIP via C#

Convertation from CAB to 7ZIP consist of following steps:

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

Requisitos de 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.

Exemplo de código para converter de CAB para 7ZIP

Código do CAB para vários formatos: O arquivo CAB normalmente contém vários registros ou arquivos. Para converter este arquivo em formatos como GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) e BZ2 (Bzip2), uma abordagem comum é primeiro empacotar o conteúdo em um TAR (Tape Arquivo). Este processo lembra a prática típica em ambientes Linux.

Neste processo de conversão, cada arquivo ou registro no arquivo CAB é primeiro agrupado em um único arquivo TAR. Este arquivo TAR serve como um contêiner para arquivos individuais, preservando sua estrutura e metadados originais. Depois que os dados são encapsulados no arquivo TAR, fica mais fácil aplicar diferentes algoritmos e formatos de compactação.

A escolha do TAR como formato intermediário se deve à sua simplicidade e ampla compatibilidade com vários sistemas operacionais do tipo Unix. Ele fornece uma maneira direta de agrupar arquivos sem aplicar compactação diretamente. Após a conclusão do empacotamento TAR, as operações de compactação subsequentes podem ser aplicadas ao arquivo TAR para gerar os formatos de saída desejados, como GZ, LZ, Z, XZ ou BZ2.

Converter de CAB para 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");
    }



Aplicativo gratuito para converter ZIP em 7ZIP

Confira nossas demonstrações ao vivo para conversão de CAB para 7ZIP com os seguintes benefícios


Uma biblioteca Aspose.ZIP confiável que pode compactar, extrair, criptografar, descriptografar, converter e mesclar arquivos. Aspose.ZIP for .NET API permite manipular vários tipos de arquivo sem entrar na complexidade subjacente dos formatos de arquivo compactados com esforços mínimos de codificação.

Outras conversões CAB suportadas

Você também pode converter CAB em muitos outros formatos de arquivo, incluindo alguns listados abaixo.