Crie arquivos TAR.GZ e TAR.XZ em C#

TAR é um formato de arquivamento popular baseado em UNIX que é usado para empacotar vários arquivos, incluindo áudios, vídeos, instaladores, etc. Por outro lado, GNU é um algoritmo de compactação de dados para compactar arquivos grandes antes de compartilhar. O TAR.GZ é a combinação do arquivamento do TAR e da compressão do GNU. Da mesma forma, XZ Utils também oferece compactação de arquivos TAR no formato TAR.XZ. Neste artigo, você aprenderá como compactar arquivos TAR e criar arquivos TAR.GZ e TAR.XZ em C#.

API C# .NET para criar TAR.GZ e TAR.XZ

Aspose.ZIP for .NET é uma API poderosa que permite que você crie arquivos perfeitamente dentro de seus aplicativos .NET. Além disso, permite descompactar e extrair os arquivos de formatos populares, incluindo ZIP, TAR, GZIP, BZ2, 7Zip e RAR. Usaremos esta API para criar arquivos TAR compactados (.tar.gz e .tar.xz). Você pode baixar a DLL da API ou instalá-la diretamente usando NuGet.

PM> Install-Package Aspose.Zip

Crie um arquivo TAR.GZ em C#

A seguir estão as etapas para criar um arquivo TAR compactado (tar.gz) em C#.

O exemplo de código a seguir mostra como criar um arquivo TAR.GZ em C#.

// Criar arquivo TAR
using (var archive = new TarArchive())
{
     // Adicione pastas ao arquivo
     archive.CreateEntry("text.txt", @"D:\texts\article.txt");
     archive.CreateEntry("picture.png", @"D:\Picture\photo.png");
     
     // Compacte o TAR no arquivo tar.gz
     archive.SaveGzipped("result.tar.gz");
}

Crie um arquivo TAR.XZ em C#

XZ Utils é um utilitário popular que fornece serviços de compactação e descompactação. Ele compacta os arquivos TAR no formato TAR.XZ. Aspose.ZIP para .NET também suporta compressão de arquivos TAR em TAR.XZ. A seguir estão as etapas para criar um arquivo .tar.xz em C#.

O exemplo de código a seguir mostra como compactar TAR no formato TAR.XZ em C#.

// Crie um arquivo tar.xz 
using (FileStream xzFile = File.Open("archive.tar.xz", FileMode.Create))
{
    // Criar arquivo TAR 
    using (var archive = new TarArchive())
    {
        // Adicione pastas ao arquivo
        archive.CreateEntry("text.txt", @"D:\texts\article.txt");
        archive.CreateEntry("picture.png", @"D:\Picture\photo.png");
        
        // Compacte o TAR no arquivo tar.xz
        archive.SaveXzCompressed(xzFile);
    }
}

Obtenha uma licença de API gratuita

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

Conclusão

A compactação e descompactação de arquivos TAR são comumente realizadas em sistemas operacionais Unix/Linux. Neste artigo, você aprendeu como compactar arquivos TAR e criar arquivos TAR.GZ e TAR.XZ em C#. Você pode simplesmente instalar a API e integrar os exemplos de código fornecidos em seus aplicativos .NET para compactar arquivos TAR. Além disso, você pode visitar a documentação para explorar mais sobre o Aspose.ZIP para .NET. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também