RAR para ZIP C#

Converter arquivos RAR para o formato ZIP é um requisito comum ao lidar com arquivos compactados. O ZIP é amplamente suportado em várias plataformas, tornando-o uma escolha mais versátil para compartilhamento e armazenamento. Nesta postagem do blog, abordaremos uma solução usando C# para converter arquivos RAR para o formato ZIP.

Por que converter RAR para ZIP?

Existem vários motivos para converter arquivos RAR para ZIP:

  • Compatibilidade entre plataformas: o ZIP é suportado em mais sistemas e plataformas em comparação ao RAR.

  • Suporte nativo: muitos sistemas operacionais, como Windows e macOS, podem extrair arquivos ZIP nativamente sem precisar de software de terceiros.

  • Eficiência de compactação: a compactação ZIP é eficiente e oferece um equilíbrio entre tamanho e velocidade do arquivo.

Agora, vamos para a instalação, guia passo a passo e exemplo de código.

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

Você pode converter os formatos de arquivo compactados instalando Conholdate.Total para .NET com o seguinte comando de instalação no NuGet Package Manager Console:

PM> NuGet\Install-Package Conholdate.Total

Converter RAR para ZIP em C#

Para conseguir isso, usaremos a biblioteca Aspose.Zip, que faz parte do pacote Conholdate.Total for .NET. Abaixo está um detalhamento passo a passo de como converter um arquivo RAR para um arquivo ZIP:

  • Inicializar um arquivo ZIP: Começamos criando um novo objeto Aspose.Zip.Archive que representará o arquivo ZIP.
  • Abra e extraia o arquivo RAR: carregue o arquivo RAR usando Aspose.Zip.Rar.RarArchive e extraia cada entrada. Arquivos e diretórios dentro do arquivo RAR são manipulados separadamente.
  • Adicionar entradas ao arquivo ZIP: Para cada entrada (arquivo ou diretório) no arquivo RAR, nós a adicionamos ao arquivo ZIP. Os arquivos são escritos como entradas ZIP, enquanto os diretórios são criados como entradas vazias.
  • Salvar o arquivo ZIP: depois que todas as entradas forem adicionadas, salve o arquivo ZIP no local de saída desejado.

O trecho de código a seguir mostra como converter RAR para ZIP em C#:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.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");
}

Licença de avaliação gratuita

Você pode obter uma licença temporária gratuita para experimentar este e muitos outros recursos para manipular ou converter arquivos compactados em seu ambiente.

Conclusão

Converter um arquivo RAR em um arquivo ZIP em C# só precisa de algumas chamadas de método sem se preocupar com pequenos detalhes ou estrutura dos formatos de arquivo compactados. Seguindo essa abordagem, você pode facilmente extrair arquivos de um arquivo RAR e compactá-los em um formato ZIP. Isso garante que seus arquivos sejam mais compatíveis e acessíveis em diferentes plataformas. Considerando que, se você quiser discutir qualquer uma de suas dúvidas, escreva para nós em forum.

Perguntas frequentes

A estrutura do diretório é preservada durante a conversão?

Sim, o código preserva a estrutura de diretório do arquivo RAR ao adicionar entradas ao arquivo ZIP.

Preciso de software de terceiros para extrair arquivos ZIP?

Não, arquivos ZIP podem ser extraídos nativamente na maioria das plataformas, incluindo Windows e macOS.

Posso proteger o arquivo ZIP com senha?

Sim, o Aspose.ZIP permite criptografia e proteção por senha ao criar arquivos ZIP.

Veja também