Descripción general

Los archivos que constan de entradas tienen el método createEntries para comprimir la carpeta completa. Estos métodos respetan la estructura de directorios y componen de forma recurrente para todas las subcarpetas. También puede agregar una sola entrada de archivo a una subcarpeta arbitraria en cualquier lugar del archivo.

Cómo hacer un archivo ZIP

El método createEntry se utiliza para agregar cada archivo al archivo comprimido. En estos ejemplos, no especificamos ninguna configuración de compresión, por lo que se aplicará la configuración predeterminada para el formato elegido.

    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 crea un archivo ZIP llamado "archive.zip" que contiene dos archivos: "data1.bin" y "data2.bin". Aquí hay un desglose de cómo funciona:

  • Gestión automática de recursos: El código utiliza un bloque prueba con recursos para garantizar una gestión adecuada de los recursos. Este bloque cierra automáticamente el objeto de archivo al finalizar.
  • Agregar archivos al archivo: Dentro del bloque, el código emplea el método createEntry dos veces para agregar archivos al archivo:
    - La primera entrada se llama "first.bin" y contiene el contenido del archivo "data1.bin".
    - La segunda entrada se llama "segundo.bin" y contiene el contenido del archivo "data2.bin".
  • Guardar el archivo: Finalmente, se llama al método guardar el objeto de archivo para guardar el archivo ZIP recién creado con las entradas especificadas en "archive.zip".

Cómo agregar archivos al archivo 7zip

Para agregar varios archivos adjuntos a un único archivo 7zip, empleamos la clase SevenZipArchive junto con los métodos createEntry y save de manera similar.

    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");
    }

El siguiente código realiza las mismas acciones que el anterior, pero para el formato 7-ZIP .

TAR hacer archivo

Ampliar archivos a menudo implica extraer, agregar nuevos archivos y recomprimirlos, lo cual es un proceso que consume muchos recursos. Aspose.ZIP ofrece una solución más inteligente en Java. Simplemente abra el archivo para extraerlo y agregue nuevas entradas directamente, evitando volver a empaquetarlo innecesariamente. Este enfoque eficiente funciona para el formato de archivo 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");
    }

Esta aplicación comparte la funcionalidad de la anterior, pero está diseñada para archivos con la extensión TAR .

Cómo crear un archivo GZ

Formatos de sólo compresión sin entradas. Estos formatos de compresión, incluidos GZIP, LZ, BZIP2, XZ y Z, no admiten entradas de archivos. Sólo pueden comprimir un único archivo fuente a la 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());
    }

Crear TAR GZ

Aspose.ZIP ofrece una manera conveniente de combinar formatos de solo archivo y de solo compresión usando un solo método. A continuación se muestra un ejemplo de esta funcionalidad con la combinación TAR.GZ. Este método utiliza el 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");
    }

Crear TARLZ

Primero, creamos un objeto FileInputStream, conectado al archivo que se va a archivar. A continuación, creamos el objeto LzipArchive, configuramos la fuente en el objeto FileInputStream creado previamente y guardamos el archivo.

    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());
    }

Crear archivo TAR BZ2

Aspose.ZIP ofrece métodos similares para comprimir archivos con formatos LZIP, XZ, ZStandard y Z. Sin embargo, se requiere un enfoque diferente para 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 construcción de código combina el uso de dos formatos de archivo diferentes, a saber, TAR y Bzip2. La característica principal es que un archivo TAR se crea primero usando la clase TarArchive agregando varios archivos usando el método createEntry, y luego este archivo se comprime en formato Bzip2 usando la clase Bzip2Archive .

Otras características compatibles de Aspose.ZIP para la API de Java

Con la biblioteca Aspose.ZIP en Java, puede manejar sin problemas diversas tareas relacionadas con documentos de archivos ZIP. Ya sea que necesite convertir formatos, fusionar archivos, editar contenidos o extraer datos, Aspose.ZIP proporciona una funcionalidad integral para optimizar su flujo de trabajo y mejorar la productividad.

  

Support and Learning Resources

  
  

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