Visão geral

Arquivos que consistem em entradas possuem o método createEntries para compactar a pasta inteira. 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 uma subpasta arbitrária em qualquer lugar do arquivo.

Como fazer um arquivo ZIP

O método createEntry é usado para adicionar cada arquivo ao arquivo compactado. Nestes exemplos, não especificamos nenhuma configuração de compactação, portanto serão aplicadas as configurações padrão do formato escolhido.

    try (Archive archive = new Archive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.zip");
    }

Este código cria um arquivo ZIP chamado "archive.zip" contendo dois arquivos: "data1.bin" e "data2.bin". Aqui está um resumo de como funciona:

  • Gerenciamento automático de recursos: O código utiliza um bloco try-with-resources para garantir o gerenciamento adequado de recursos. Este bloco fecha automaticamente o objeto de arquivo após a conclusão.
  • Adicionando arquivos ao arquivo: Dentro do bloco, o código emprega o método createEntry duas vezes para adicionar arquivos ao arquivo:
    - A primeira entrada é chamada "first.bin" e contém o conteúdo do arquivo "data1.bin".
    - A segunda entrada é chamada "second.bin" e contém o conteúdo do arquivo "data2.bin".
  • Salvando o arquivo: Finalmente, o método save é chamado o objeto de arquivo para salvar o arquivo ZIP recém-criado com as entradas especificadas em "archive.zip".

Como adicionar arquivos ao arquivo 7zip

Para adicionar vários anexos a um único arquivo 7zip, empregamos a classe SevenZipArchive junto com os métodos createEntry e save de maneira semelhante.

    try (SevenZipArchive archive = new SevenZipArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 	
        archive.save("archive.7z");
    }

O código a seguir executa as mesmas ações do anterior, mas para o formato 7-ZIP .

TAR criar arquivo

A expansão de arquivos geralmente envolve a extração, adição de novos arquivos e recompactação, que é um processo que consome muitos recursos. Aspose.ZIP oferece uma solução mais inteligente em Java. Basta abrir o arquivo para extração e adicionar novas entradas diretamente, evitando reembalagens desnecessárias. Esta abordagem eficiente funciona para o formato de arquivo TAR.

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        // Add as many entries as you need 
        archive.save("archive.tar");
    }

Este aplicativo compartilha a funcionalidade do anterior, mas é adaptado para arquivos com a extensão TAR .

Como criar arquivo GZ

Formatos somente de compactação sem entradas. Esses formatos de compactação, incluindo GZIP, LZ, BZIP2, XZ e Z, não oferecem suporte a entradas de arquivo. Eles só podem compactar um único arquivo de origem por vez.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (GzipArchive archive = new GzipArchive()) {
            archive.setSource(source);
            archive.save("archive.gz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Criar TAR GZ

Aspose.ZIP oferece uma maneira conveniente de combinar formatos somente de arquivo e somente compactação usando um único método. Aqui está um exemplo desta funcionalidade com a combinação TAR.GZ. Este método utiliza o método saveGzipped .

    try (TarArchive archive = new TarArchive()) {
        archive.createEntry("first.bin", "data1.bin");
        archive.createEntry("second.bin", "data2.bin");
        archive.saveGzipped("archive.tar.gz");
    }

Criar TARLZ

Primeiro, criamos um objeto FileInputStream, conectado ao arquivo a ser arquivado. Em seguida, criamos o objeto LzipArchive, definimos a origem para o objeto FileInputStream criado anteriormente e salvamos o arquivo.

    try (FileInputStream source = new FileInputStream("alice29.txt")) {
        try (LzipArchive archive = new LzipArchive()) {
            archive.setSource(source);
            archive.save("archive.lz");
        }
    } catch (IOException ex) {
        System.err.println(ex.getMessage());
    }

Criar arquivo TAR BZ2

Aspose.ZIP oferece métodos semelhantes para compactar arquivos nos formatos LZIP, XZ, ZStandard e Z. No entanto, uma abordagem diferente é necessária para o BZIP2.

    try (TarArchive tar = new TarArchive()) {
        tar.createEntry("first.bin", "data1.bin");
        tar.createEntry("second.bin", "data2.bin");
        try (Bzip2Archive archive = new Bzip2Archive()) {
            archive.setSource(tar);
            archive.save("archive.tar.bz2");
        }
    }

Esta construção de código combina o uso de dois formatos de arquivo diferentes, nomeadamente TAR e Bzip2. A principal característica é que um arquivo TAR é primeiro criado usando a classe TarArchive adicionando vários arquivos a ele usando o método createEntry e, em seguida, esse arquivo é compactado no formato Bzip2 usando a classe Bzip2Archive .

Outros recursos da API Aspose.ZIP com suporte para Java

Com a biblioteca Aspose.ZIP em Java, você pode lidar perfeitamente com várias tarefas relacionadas a documentos de arquivo ZIP. Se você precisa converter formatos, mesclar arquivos, editar conteúdo ou extrair dados, o Aspose.ZIP oferece funcionalidade abrangente para agilizar seu fluxo de trabalho e aumentar a produtividade.

  

Support and Learning Resources

  
  

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