Visão geral

Arquivos que consistem em entradas possuem o método CreateEntries para compactar o diretório inteiro. Tais métodos respeitam a estrutura de diretórios e são compostos recorrentemente para todas as subpastas.
Além disso, você pode adicionar uma única entrada de arquivo a um subdiretório arbitrário em qualquer lugar do arquivo.

Como compactar uma pasta

Ao tentar compactar uma pasta preservando sua estrutura, considere empregar os recursos intuitivos do Aspose.ZIP. Utilize as configurações de compactação da instância do Archive, como a propriedade PreserveDirectoryRoot, durante a inicialização para manter a estrutura de pastas. Ao incorporar esta configuração, o arquivo compactado refletirá a hierarquia original, garantindo uma representação organizada dos dados. Isto revela-se especialmente vantajoso quando se lida com estruturas de pastas extensas, pois simplifica a navegação e recuperação de arquivos específicos sem a necessidade de descompactação. Aspose.ZIP .Net API fornece uma solução perfeita para compactar pastas, respeitando suas estruturas inerentes, aumentando a eficiência dos processos de armazenamento e recuperação de dados.
Exemplo:

    using (Archive archive = new Archive())
    {
        DirectoryInfo corpus = new DirectoryInfo(@"D:\Data");
        archive.CreateEntries(corpus);
        archive.Save("archive.zip");
    }

Sample 2:

Compose hierarchical structure with CreateEntry method

    using (Archive archive = new Archive())
    {
        FileInfo fi1 = new FileInfo("image.bmp");
        FileInfo fi2 = new FileInfo("lyrics.txt");
        archive.CreateEntry("data\\pictures\\photo.bmp", fi1);
        archive.CreateEntry("data\\text\\song.txt", fi2);
        archive.Save("archive.zip");
    }

Como compactar uma pasta com .NET

Método CreateEntries tem um segundo parâmetro opcional includeRootDirectory que indica se o diretório raiz precisa ser incluído no arquivo. O padrão é verdadeiro, portanto, no exemplo acima, todas as entradas do arquivo estarão localizadas na pasta “Dados”. Se você deseja que apenas o conteúdo do diretório seja adicionado, passe false lá. Haverá pastas “imagens” e “texto” dentro da pasta “dados” no arquivo resultante.

Como compactar pasta no 7-ZIP respeitando sua estrutura

Método de compactação 7Zip que preserva a estrutura da pasta durante o arquivamento. Isso pode melhorar a organização e a conveniência de trabalhar com arquivos. CreateEntries é o método analógico do arquivo 7Z. Também possui o parâmetro includeRootDirectory.
Para usar a compactação 7-Zip com um método que preserva a estrutura da pasta durante o arquivamento, um exemplo que demonstra como fazer isso é fornecido abaixo.

Create archive from directory

    using (SevenZipArchive archive = new SevenZipArchive())
    {
        DirectoryInfo corpus = new DirectoryInfo(@"D:\Data");
        archive.CreateEntries(corpus);
        archive.Save("archive.7z");
    }

Visão geral do arquivo 7-ZIP

7-Zip, um utilitário de arquivamento versátil, se destaca por sua alta taxa de compactação e suporte para vários formatos. Notavelmente, o 7-Zip oferece uma maneira conveniente de adicionar arquivos sem aplicar compactação. Os usuários podem integrar arquivos perfeitamente em um Arquivos 7-Zip preservando a estrutura de dados original, garantindo a integridade dos seu conteúdo.

Como compactar uma pasta no TAR mantendo sua estrutura

A compactação de pastas no formato TAR é uma prática comum para armazenamento e transferência eficiente de dados. No entanto, preservar a estrutura de pastas durante a compactação é crucial para manter a organização e acessibilidade dos arquivos arquivados. Arquivar pastas no formato TAR oferece uma solução conveniente para esse problema. Apesar disso, os métodos tradicionais de compactação muitas vezes desconsideram a estrutura de pastas original, dificultando a navegação e a localização de arquivos específicos dentro do arquivo. Por padrão, a compactação TAR não mantém a estrutura de pastas original, o que pode ser inconveniente para usuários que precisam acessar arquivos específicos dentro do arquivo. Além da compactação, o arquivo tar possui o mesmo método para arquivar o diretório inteiro.

Sample 1:

Create archive from directory

    using (TarArchive archive = new TarArchive())
    {
        archive.CreateEntries(@"D:\Data");
        archive.Save("archive.tar");
    }

Sample 2:

Combine archiving directory and single file

    using (Archive archive = new Archive())
    {
        FileInfo fi1 = new FileInfo("image.bmp");
        FileInfo fi2 = new FileInfo("lyrics.txt");
        archive.CreateEntry("data\\pictures\\photo.bmp", fi1);
        archive.CreateEntry("data\\text\\song.txt", fi2);
        archive.Save("archive.zip");
    }

Visão geral do arquivo TAR

TAR (Tape ARchive) é um formato de arquivo popular para arquivamento e compactação de arquivos únicos . É um formato sem perdas, o que significa que nenhum dado é perdido durante a compactação. Os arquivos TAR podem ser criados em qualquer sistema operacional e são suportados por uma ampla variedade de software.

Técnicas avançadas de compactação em XAR com preservação da estrutura de pastas

XAR, um formato de arquivo moderno, oferece flexibilidade ao permitir que os usuários criem arquivos enquanto preservam a estrutura de pastas original. Essa abordagem exclusiva atende usuários que necessitam de técnicas avançadas de compactação sem comprometer a organização de arquivos. O arquivo Xar usa a mesma abordagem de todos os formatos mencionados acima.
Exemplo:

Create archive from directory

    using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
    {
        using (var archive = new XarArchive())
        {
            archive.CreateEntries(@"C:\folder", false);
            archive.Save(xarFile);
        }
    }

Visão geral do arquivo XAR

O XAR simplifica o processo de adição de arquivos sem compactação, proporcionando aos usuários flexibilidade no gerenciamento de seus arquivos. Utilizando comandos XAR ou ferramentas de software compatíveis, os usuários podem integrar arquivos perfeitamente ao arquivo sem invocar algoritmos de compactação. Este método simples garante que a estrutura de dados original permaneça intacta, pronta para recuperação quando necessário.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: