Converter ZIP para TAR em C #

Converter ZIP para TAR em C #

O formato de arquivamento ZIP é bem conhecido e amplamente usado para compactar arquivos e pastas em um único arquivo compactado. Considerando que, TAR é outro formato de arquivo baseado em UNIX que oferece a compactação de vários arquivos em um único local. Na verdade, a compactação de arquivos é um componente indispensável em qualquer negócio online, pois reduz o tamanho do arquivo e torna a transferência de arquivos rápida pela Internet. Na maioria das vezes, o TAR é o preferido, pois retém permissões e provisões. Nesta postagem do blog, aprenderemos como converter ZIP para TAR em C# programaticamente em um aplicativo .NET.

Abordaremos as seguintes seções:

Instalação da API do conversor ZIP para TAR

Usaremos esta biblioteca .NET ZIP para obter programaticamente a conversão de ZIP para TAR. É uma biblioteca leve usada para compactar e descompactar vários tipos de formatos de arquivo.

Você pode instalar essa API baixando os arquivos DLL ou instalando-a executando o seguinte comando no gerenciador de pacotes NuGet.

Install-Package Aspose.Zip 

Converter ZIP para TAR em C # programaticamente

A API do conversor ZIP para TAR oferece métodos e propriedades para converter o formato ZIP para o formato de arquivo TAR. No entanto, você pode percorrer a lista de métodos disponíveis aqui.

Siga as etapas a seguir para obter essa conversão:

  1. Instancie uma instância da classe Archive e carregue o arquivo ZIP de origem.
  2. Crie um objeto da classe TarArchive para acessar os recursos TAR.
  3. Crie um objeto da classe ArchiveEntry para acessar cada ArchiveEntry no ZIP.
  4. Inicialize um objeto da classe MemoryStream e copie a entrada usando o método entry.Open().CopyTo(mem).
  5. Invoque o método CreateEntry para criar uma única entrada no arquivo TAR.
  6. Salve o arquivo TAR chamando o método SaveGzipped.

Copie e cole o seguinte trecho de código em seu arquivo principal e execute o servidor:

 // Instanciar uma instância da classe Archive e carregar o arquivo ZIP de origem 
            using (Archive source = new Archive("CompressDirectory_out.zip"))
            {
                // crie um objeto da classe TarArchive para acessar os recursos do TAR   
                using (TarArchive tar = new TarArchive())
                {
                    // Crie um objeto da classe ArchiveEntry para acessar cada ArchiveEntry no ZIP 
                    {
                        if (!entry.IsDirectory)
                        { 
                            // Inicialize um objeto da classe MemoryStream e copie a entrada usando o método entry.Open().CopyTo(mem)   
                            MemoryStream mem = new MemoryStream();
                            entry.Open().CopyTo(mem); 
                            // invoque o método CreateEntry para criar uma única entrada no arquivo TAR.             
                            tar.CreateEntry(entry.Name, mem);
                        }
                    }
                    // salve o arquivo TAR chamando o método SaveGzipped. 
                    tar.SaveGzipped("result.tar.gz");
                }
            }

Obtenha uma licença gratuita

Você pode aproveitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Resumindo

Estamos encerrando esta postagem do blog aqui. Implementamos o processo para converter ZIP para TAR em C# usando esta biblioteca .NET ZIP. Além disso, este artigo certamente o ajudará se você quiser integrar uma API de conversão de ZIP para TAR em seu aplicativo .NET. Além disso, você pode visitar a documentação desta biblioteca para conhecer outros métodos e propriedades. Por fim, conholdate.com está escrevendo novas postagens no blog sobre outros tópicos. Portanto, por favor, fique em contato para atualizações regulares.

Faça uma pergunta

Você pode nos informar sobre suas perguntas ou dúvidas em nosso fórum.

Veja também