ZIP para 7z C#

Nesta postagem do blog, nós o guiaremos pelo processo de conversão de um arquivo ZIP para um formato 7z usando C#. O formato 7z é conhecido por sua alta taxa de compressão e é amplamente usado para reduzir o tamanho do arquivo, tornando-o ideal para armazenamento e transferência eficientes. Nós demonstraremos como implementar a conversão usando uma abordagem passo a passo.

Por que converter ZIP para 7z?

Existem vários motivos para converter arquivos ZIP para 7z:

  • Reduza o tamanho dos arquivos: o formato 7z oferece compactação superior ao ZIP.

  • Melhore o desempenho: arquivos menores resultam em uploads, downloads e transferências mais rápidos.

  • Maior taxa de compressão: o formato 7z compacta arquivos com mais eficiência, reduzindo o tamanho do arquivo para armazenamento otimizado.

Conversor de arquivo ZIP para 7z - Configuração da API C#

Para converter arquivos ZIP para o formato 7z, você precisa instalar o Conholdate.Total para .NET usando o seguinte comando de instalação do NuGet no Microsoft Visual Studio IDE:

PM> NuGet\Install-Package Conholdate.Total

Converter ZIP para 7z em C#

Você pode seguir os passos abaixo para converter ZIP para 7z em C#:

  • Archive: Representa o arquivo ZIP que você quer converter. A classe Archive é usada para abrir e ler o arquivo ZIP.

  • SevenZipArchive: Esta classe é usada para criar e salvar um arquivo 7z.

  • SevenZipEntrySettings: Especifica as configurações de compressão para o formato 7z. Neste caso, estamos usando o algoritmo de compressão LZMA2 para máxima eficiência de compressão.

  • MemoryStream: Os dados do arquivo são copiados para a memória usando um fluxo, e cada entrada do arquivo ZIP é adicionada ao novo arquivo 7z.

O código de exemplo abaixo demonstra como converter ZIP para 7z em C#:

using (Archive source = new Archive("source.zip"))
{
    using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                mem.Seek(0, SeekOrigin.Begin);
                archive.CreateEntry(entry.Name, mem);
            }
        }
        archive.Save("result.7z");
    }
}

Licença de avaliação gratuita

Você pode obter uma licença temporária gratuita para avaliar diferentes conversões ou manipulações de arquivos por sua conta.

Conclusão

Seguindo os passos descritos acima, você pode facilmente converter um arquivo ZIP para o formato 7z em C#. A maior eficiência de compressão do formato 7z o torna uma excelente escolha para reduzir tamanhos de arquivo, o que ajuda a melhorar o desempenho ao lidar com arquivos grandes. Caso precise discutir quaisquer ambiguidades, entre em contato conosco em forum.

Perguntas frequentes

Posso proteger o arquivo 7z com senha?

Sim, o formato 7z suporta criptografia avançada, permitindo que você proteja seu arquivo com uma senha.

Posso converter vários arquivos ZIP para 7z em uma única operação?

Sim, você pode percorrer vários arquivos ZIP e aplicar a mesma lógica para conversão.

Preciso instalar o software 7-Zip na minha máquina?

Não, o Conholdate.Total para .NET inclui todos os componentes necessários para trabalhar com o 7z sem software adicional.

Veja também