Biblioteca Java ZIP para crear y gestionar archivos ZIP

Biblioteca Java de código abierto que soporta crear, extraer y modificar archivos ZIP de forma programática. Soporta Unicode, división y fusión de archivos mediante la API Java.

En el mundo de la programación Java, manejar archivos zip de manera eficiente es un requisito común. Ya sea para comprimir archivos para almacenamiento o transferir datos a través de redes, una biblioteca confiable puede marcar la diferencia. Una joya en el ecosistema Java es la biblioteca Zip4j, una herramienta poderosa para trabajar con archivos zip. Profundicemos en lo que hace que Zip4j sea la elección preferida de los desarrolladores y exploremos sus características y beneficios. Desarrollada por Srikanth Lingala, Zip4j simplifica operaciones complejas con archivos zip, ofreciendo a los desarrolladores una forma fluida de trabajar con archivos dentro de sus aplicaciones Java.

Zip4j es una biblioteca Java de código abierto que ofrece una interfaz fácil de usar para crear, extraer y modificar archivos zip de forma programática. La biblioteca Zip4j proporciona una API sencilla que permite a los desarrolladores de software realizar operaciones comunes con archivos ZIP con un código mínimo. Ya sea creando un nuevo archivo ZIP, extrayendo archivos o actualizando un archivo existente, el diseño intuitivo de la biblioteca simplifica el proceso de implementación. La biblioteca admite archivos zip protegidos con contraseña de lectura/escritura y flujos, así como soporte para el formato Zip64.

La biblioteca Zip4j resulta ser un recurso valioso para los desarrolladores Java que buscan una biblioteca confiable y fácil de usar para la manipulación de archivos ZIP. La biblioteca admite una amplia gama de métodos de compresión, incluidos Deflate, Store, BZip2 y cifrado AES. Esta flexibilidad permite a los desarrolladores elegir el método de compresión que mejor se adapte a sus requisitos. Su facilidad de uso, capacidades de cifrado y soporte para diversas funciones la convierten en una opción principal para proyectos que implican tareas de compresión y descompresión. A medida que los desarrolladores de software continúan explorando formas eficientes de manejar archivos ZIP en Java, Zip4j se destaca como una solución robusta y versátil.

Previous Next

Comenzando con Zip4j

La forma recomendada de usar Zip4j es a través del repositorio Maven. Puedes usar fácilmente la API de Zip4j directamente en tus proyectos Maven con configuraciones simples.

Dependencia Maven de Jarchivelib

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

Instalar mediante el comando Git

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

Puedes descargar la biblioteca directamente desde GitHub

Creación de archivos ZIP usando la biblioteca Java

Con Zip4j, crear nuevos archivos ZIP es muy fácil. La biblioteca permite a los desarrolladores de software crear y editar un archivo ZIP con solo un par de líneas de código Java. La biblioteca ofrece una API intuitiva para agregar archivos a un archivo ZIP nuevo o existente. También admite varias funciones avanzadas, como agregar, extraer, actualizar y eliminar archivos de un archivo zip de forma programática, aplicar Unicode, dividir y combinar archivos dentro de aplicaciones Java. El siguiente ejemplo muestra cómo los desarrolladores de software pueden crear un nuevo archivo ZIP y agregarle archivos usando comandos Java.

¿Cómo crear un nuevo archivo ZIP y agregarle archivos mediante la API de 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();
        }
    }
}

Extracción de archivos de archivos ZIP mediante Java

El Zip4j de código abierto simplifica el proceso de extracción de archivos de archivos ZIP, proporcionando una API fácil de usar para la descompresión. Los desarrolladores de software pueden seleccionar fácilmente un archivo ZIP de su elección, así como el directorio de salida. También es posible extraer un solo archivo de un archivo ZIP con un nuevo nombre y ubicación. El siguiente ejemplo demuestra lo fácil que es para los desarrolladores de software extraer archivos de un archivo ZIP a una ruta de destino dentro de aplicaciones Java.

¿Cómo extraer archivos de un archivo ZIP dentro de aplicaciones 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();
        }
    }
}

División y fusión de archivos mediante Java

Los archivos grandes pueden ser difíciles de manejar, pero Zip4j lo facilita al permitir a los desarrolladores de software dividir archivos ZIP en partes más pequeñas dentro de aplicaciones Java. Esta función es útil para transferir o almacenar archivos grandes de manera eficiente. Además, la biblioteca permite la fusión de archivos divididos, restaurando el archivo ZIP original sin problemas. El siguiente método puede usarse para combinar un archivo zip que está dividido en varios archivos en un solo archivo zip.

¿Cómo combinar archivos ZIP en un solo archivo ZIP mediante la API de Java?


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

Aplicar cifrado y protección con contraseña

La seguridad es un aspecto crítico de la compresión de archivos, y Zip4j sobresale en este área. Los desarrolladores de software pueden cifrar y proteger con contraseña sus archivos ZIP fácilmente, garantizando que los datos sensibles permanezcan seguros. La biblioteca admite varios algoritmos de cifrado, incluido AES (Advanced Encryption Standard). Zip4j permite a los desarrolladores cifrar archivos ZIP con algoritmos de cifrado fuertes y protegerlos con contraseñas como se muestra en el siguiente ejemplo de código.

¿Cómo asegurar los datos cifrando archivos ZIP usando la API de 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();
        }
    }
}

 Español