Conversão Zip via C#

converter ZIP para vários formatos de arquivo

Como converter Zip usando C#

A conversão de arquivos ZIP usando C# pode ser facilitada com Aspose.Zip for .NET, uma API poderosa que simplifica o processo. A biblioteca permite que os desenvolvedores executem diversas operações, incluindo extração e criação de arquivos ZIP, juntamente com proteção por senha e personalização do nível de compactação. Usando os métodos relevantes fornecidos pelo Aspose.Zip, os desenvolvedores podem lidar facilmente com conversões de arquivos ZIP em muitos formatos de arquivo compactados populares, como RAR , CPIO , CAB , TAR e outros.

A conversão de um arquivo para outro é essencialmente uma combinação de descompactação do primeiro e composição do segundo. Você pode armazenar dados extraídos provisoriamente na RAM sem descarregá-los no disco. Cuidado com o consumo de memória e saiba quanta memória você pode alocar para residir nessas entradas.

Guia do desenvolvedor – Conversão de arquivo

O trecho de código fornecido demonstra como converter um arquivo RAR para um formato ZIP em C#. Ele utiliza a biblioteca Aspose.Zip para extrair facilmente as entradas RAR e, em seguida, criar entradas correspondentes no arquivo ZIP.

Vamos revisar este exemplo passo a passo:

  1. Instanciar arquivo ZIP preparado para compactação. Iremos preenchê-lo com entradas nas próximas etapas.
  2. Instanciar arquivo Rar preparado para descompactação, fornecendo o caminho para o arquivo.
  3. Extrair cada entrada para armazenamento temporário.
  4. Escrever uma entrada zip desse armazenamento. Se a entrada representar um diretório, usamos apenas seu caminho.
  5. Salvar o arquivo no caminho fornecido.

Converter de RAR para ZIP

O trecho de código fornecido demonstra como converter um arquivo RAR para um formato ZIP em C#. Ele utiliza a biblioteca Aspose.Zip para extrair facilmente as entradas RAR e, em seguida, criar entradas correspondentes no arquivo ZIP.

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

Converter de ZIP para 7Z

O trecho de código mostra a conversão de um arquivo ZIP para um formato 7Z via C#. Aproveitando a biblioteca SevenZipArchive, o script extrai as entradas ZIP e cria entradas correspondentes no arquivo 7Z.

Vamos revisar este exemplo passo a passo:

1. Instanciar arquivo 7z preparado para compactação. Iremos preenchê-lo com entradas nas próximas etapas.
2. Instanciar arquivo ZIP preparado para descompactação, fornecendo o caminho para o arquivo.
3. Extrair cada entrada para armazenamento temporário.
4. Compose uma entrada 7z desse armazenamento.
5. Salve o arquivo no caminho fornecido.

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

Converter de arquivo TAR.GZ para ZIP

O trecho de código fornecido aqui demonstra a conversão de um arquivo TAR.GZ (GZIP) para um formato ZIP via C#. A classe TarArchive possui métodos convenientes para operar com arquivos tarball compactados, especialmente gzipados, o script extrai entradas do arquivo TAR.GZ e cria entradas correspondentes no arquivo ZIP.

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

Funções de conversão na documentação

A API Aspose.Zip .NET é conhecida por sua capacidade robusta de lidar com conversões complexas de arquivos, permitindo a transformação perfeita entre vários formatos de arquivo com máxima eficiência e confiabilidade. Com a capacidade de converter arquivos ZIP em outros formatos de arquivo populares e vice-versa, os desenvolvedores podem garantir a integridade dos dados e o desempenho ideal em diferentes plataformas e aplicativos. Este recurso de conversão essencial simplifica o processo de transferência, armazenamento e compartilhamento de dados, permitindo compatibilidade suave com diversos ambientes de software. Ao aproveitar a API Aspose.Zip .NET, os usuários podem manipular facilmente arquivos compactados e facilitar a integração perfeita com os aplicativos desejados, aumentando assim a produtividade e a eficiência do fluxo de trabalho. O namespace ZIP contém classes que representam arquivos zip e entidades relacionadas a arquivos comuns.

Instalando a biblioteca Aspose.Zip para .NET

Se você usou o instalador MSI para implantar o Aspose.ZIP, siga estas etapas para remover completamente o componente e as demonstrações e documentação associadas:

  1. No menu Iniciar, selecione Configurações seguido de Painel de controle.
  2. Clique em Adicionar/Remover Programas.
  3. Selecione Aspose.ZIP.
  4. Clique no botão Alterar/Remover para remover Aspose.ZIP.
    Para obter mais detalhes sobre a instalação da biblioteca C#, consulte Documentação Aspose.ZIP .

Outras conversões de arquivo suportadas

Você também pode converter arquivos CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z em muitos outros formatos de arquivo, incluindo alguns listados abaixo: