
Nesta postagem do blog, exploraremos como converter arquivos ZIP para o formato TGZ(tar.gz) usando C#. Converter de ZIP para TGZ é uma tarefa comum, especialmente ao lidar com arquivos compactados para sistemas do tipo Unix. O tutorial a seguir inclui uma explicação passo a passo e o código necessário para você começar.
Por que converter ZIP para TGZ?
Pode ser necessário converter o formato ZIP para TGZ por diferentes motivos, como:
Compatibilidade entre plataformas: arquivos TGZ são comumente usados em sistemas baseados em Unix (Linux, macOS), enquanto arquivos ZIP são populares no Windows. Converter ZIP para TGZ facilita o manuseio de arquivos compactados em diferentes ambientes.
Benefícios da compactação: os arquivos TGZ geralmente oferecem melhores taxas de compactação em comparação ao ZIP, economizando espaço de armazenamento e reduzindo o tempo de transferência.
Automatização de tarefas: Em C#, automatizar conversões de formato de arquivo pode economizar tempo e esforço, especialmente em aplicativos que lidam com grandes volumes de dados.
Conversor ZIP para TGZ - Configuração da API C#
Você pode converter ZIP em TGZ instalando Conholdate.Total para .NET executando o seguinte comando NuGet no Visual Studio IDE:
PM> NuGet\Install-Package Conholdate.Total
Converter ZIP para TGZ em C#
As etapas a seguir mostram como converter ZIP para TGZ em C#:
Carregando o arquivo ZIP: A classe Archive carrega o arquivo ZIP de origem contendo as entradas que você deseja converter para o formato TGZ.
Criando um TarArchive: Criamos um objeto TarArchive para começar a preparar o conteúdo para o arquivo TGZ.
Processando Entradas: Cada entrada no arquivo ZIP é iterada. Se não for um diretório, extraímos seus dados para um MemoryStream.
Adicionando entradas ao TarArchive: para cada entrada válida, o método CreateEntry é usado para adicionar o arquivo ao tarball, junto com os dados armazenados na memória.
Salvando como TGZ: O método SaveGzipped é invocado para compactar e salvar o tarball como um arquivo .tar.gz.
O trecho de código a seguir mostra a conversão de ZIP para TGZ em C#:
using (Archive source = new Archive("source.zip"))
{
using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
Licença de avaliação gratuita
Você pode solicitar uma licença temporária gratuita para testar a conversão de ZIP sem nenhuma restrição de avaliação em seu ambiente.
Conclusão
Converter ZIP para TGZ em C# é um processo simples para processar arquivos compactados. Quer você esteja lidando com compartilhamento de arquivos entre plataformas ou otimizando tamanhos de arquivo, esse processo de conversão é altamente benéfico. Seguindo o exemplo de código fornecido, você pode automatizar a conversão de ZIP para TGZ em seus aplicativos .NET, garantindo compatibilidade e eficiência no gerenciamento de arquivos compactados. Caso tenha alguma dúvida, escreva para nós em forum.
Perguntas frequentes
O formato TGZ é compatível com o Windows?
Sim, embora seja mais comum em sistemas baseados em Unix, arquivos TGZ também podem ser extraídos e criados no Windows.
Posso incluir diretórios no arquivo TGZ?
Sim, o código pode ser modificado para incluir diretórios removendo a verificação !entry.IsDirectory e manipulando os diretórios adequadamente.
É possível automatizar a conversão de ZIP para TGZ?
Sim, o código fornecido pode ser integrado em aplicativos C# maiores, permitindo conversões automatizadas em lote ou tarefas agendadas.