Biblioteca Java ZIP para Criar e Gerenciar Arquivos ZIP

Biblioteca Java de Código Aberto que suporta a criação, extração e modificação de arquivos ZIP programaticamente. Suporta Unicode, divisão e mesclagem de arquivos via API Java.

No mundo da programação Java, lidar com arquivos zip de forma eficiente é uma necessidade comum. Seja para compactar arquivos para armazenamento ou transferir dados por redes, uma biblioteca confiável pode fazer toda a diferença. Uma dessas joias no ecossistema Java é a biblioteca Zip4j, uma ferramenta poderosa para trabalhar com arquivos zip. Vamos aprofundar o que torna o Zip4j uma escolha preferida dos desenvolvedores e explorar seus recursos e benefícios. Desenvolvido por Srikanth Lingala, o Zip4j simplifica operações complexas de arquivos zip, oferecendo aos desenvolvedores uma maneira fluida de trabalhar com arquivos dentro de suas aplicações Java.

Zip4j é uma biblioteca Java de código aberto que fornece uma interface fácil de usar para criar, extrair e modificar arquivos zip programaticamente. A biblioteca Zip4j oferece uma API simples que permite que desenvolvedores de software realizem operações comuns de arquivos ZIP com código mínimo. Seja criando um novo arquivo ZIP, extraindo arquivos ou atualizando um arquivo existente, o design intuitivo da biblioteca simplifica o processo de implementação. A biblioteca suporta arquivos zip protegidos por senha de leitura/gravação e fluxos, bem como suporte ao formato Zip64.

A biblioteca Zip4j prova ser um recurso valioso para desenvolvedores Java que buscam uma biblioteca confiável e fácil de usar para manipulação de arquivos ZIP. A biblioteca suporta uma ampla gama de métodos de compressão, incluindo Deflate, Store, BZip2 e criptografia AES. Essa flexibilidade permite que os desenvolvedores escolham o método de compressão que melhor atenda aos seus requisitos. Sua facilidade de uso, recursos de criptografia e suporte a várias funcionalidades a tornam uma escolha principal para projetos que envolvem tarefas de compressão e descompressão. À medida que os desenvolvedores de software continuam a explorar maneiras eficientes de lidar com arquivos ZIP em Java, o Zip4j destaca‑se como uma solução robusta e versátil.

Previous Next

Começando com Zip4j

A maneira recomendada de usar o Zip4j é via repositório Maven. Você pode usar a API do Zip4j diretamente em seus projetos Maven com configurações simples.

Dependência Maven do Jarchivelib

<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j </artifactId>
<version>2.11.5</version>
<type>jar</type> <dependency>

Instalar via comando Git

 git clone https://github.com/srikanth-lingala/zip4j.git 

Você pode baixar a biblioteca diretamente do GitHub

Criação de Arquivo Zip usando Biblioteca Java

Com o Zip4j, criar novos arquivos ZIP é muito fácil. A biblioteca permite que desenvolvedores de software criem e editem um arquivo ZIP com apenas algumas linhas de código Java. A biblioteca fornece uma API intuitiva para adicionar arquivos a um arquivo ZIP novo ou existente. Também suporta vários recursos avançados, como adicionar, extrair, atualizar, remover arquivos de um arquivo zip programaticamente, aplicar Unicode, dividir e mesclar arquivos dentro de aplicações Java. O exemplo a seguir mostra como os desenvolvedores de software podem criar um novo arquivo ZIP e adicionar arquivos a ele usando comandos Java.

Como criar um novo arquivo ZIP e adicionar arquivos a ele via API Java?

import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class ZipCreationExample {

    public static void main(String[] args) {
        try {
            // Create a new ZipFile object
            ZipFile zipFile = new ZipFile("example.zip");

            // Specify parameters for the file to be added
            ZipParameters parameters = new ZipParameters();
            parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // Set compression method
            parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // Set compression level

            // Add a file to the ZIP archive
            zipFile.addFile("file.txt", parameters);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Extraindo Arquivos de Arquivos ZIP via Java

O Zip4j de código aberto simplifica o processo de extração de arquivos de arquivos ZIP, oferecendo uma API fácil de usar para descompressão. Desenvolvedores de software podem selecionar facilmente um arquivo ZIP de sua escolha, bem como o diretório de saída. Também é possível extrair um único arquivo de um arquivo ZIP com um novo nome e localização. O exemplo a seguir demonstra como os desenvolvedores de software podem extrair arquivos de um arquivo ZIP para um diretório de destino dentro de aplicações Java.

Como extrair arquivos de um arquivo ZIP dentro de aplicações Java?

import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class ExtractionExample {

    public static void main(String[] args) {
        try {
            // Specify the path to the ZIP archive
            ZipFile zipFile = new ZipFile("example.zip");

            // Specify the destination directory for extraction
            zipFile.extractAll("extracted_files/");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Dividindo e Mesclando Arquivos via Java

Arquivos grandes podem ser difíceis de manipular, mas o Zip4j facilita isso ao permitir que desenvolvedores de software dividam arquivos ZIP em partes menores dentro de aplicações Java. Esse recurso é benéfico para transferir ou armazenar grandes arquivos de forma eficiente. Além disso, a biblioteca permite a mesclagem de arquivos divididos, restaurando o arquivo ZIP original sem problemas. O método a seguir pode ser usado para mesclar um arquivo zip que está dividido em vários arquivos em um único arquivo zip.

Como mesclar arquivos ZIP em um único arquivo ZIP via API Java?


new ZipFile("split_zip_file.zip").mergeSplitFiles(new File("merged_zip_file.zip"));

Aplicar Criptografia e Proteção por Senha

Segurança é um aspecto crítico da compressão de arquivos, e o Zip4j se destaca nessa área. Desenvolvedores de software podem facilmente criptografar e proteger com senha seus arquivos ZIP, garantindo que dados sensíveis permaneçam seguros. A biblioteca suporta vários algoritmos de criptografia, incluindo AES (Advanced Encryption Standard). O Zip4j permite que os desenvolvedores criptografem arquivos ZIP com algoritmos de criptografia fortes e os protejam com senhas, conforme mostrado no exemplo de código a seguir.

Como proteger dados criptografando arquivos ZIP usando API Java?


import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;

public class EncryptionExample {

    public static void main(String[] args) {
        try {
            // Create a new ZipFile object
            ZipFile zipFile = new ZipFile("encrypted.zip");

            // Specify encryption parameters
            ZipParameters parameters = new ZipParameters();
            parameters.setEncryptFiles(true);
            parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); // Use AES encryption
            parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); // Set key strength
            parameters.setPassword("secretpassword"); // Set password

            // Add files to the ZIP archive with encryption
            zipFile.addFile("file.txt", parameters);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 Português