Overview

Gli archivi costituiti da voci dispongono del metodo createEntries per comprimere l'intera cartella. Tali metodi rispettano la struttura delle directory e compongono in modo ricorrente tutte le sottocartelle. Inoltre è possibile aggiungere una singola voce di file in una sottocartella arbitraria ovunque nell'archivio.

Come creare un archivio ZIP

Il metodo createEntry viene utilizzato per aggiungere ciascun file all’archivio compresso. In questi esempi non specifichiamo alcuna impostazione di compressione, quindi verranno applicate le impostazioni predefinite per il formato scelto.

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

Questo codice crea un archivio ZIP denominato "archive.zip" contenente due file: "data1 .bin" e "data2.bin". Ecco un’analisi dettagliata di come funziona:

  • Gestione automatica delle risorse: il codice utilizza un metodo try-with- resources blocco per garantire una corretta gestione delle risorse Questo blocco chiude automaticamente l’oggetto archivio al completamento
  • Aggiunta di file all’archivio: All’interno del blocco, il codice utilizza due volte il metodo createEntry. aggiungi file all’archivio:
    - La prima voce si chiama "first.bin" e contiene il contenuto del file "data1.bin" - The la seconda voce si chiama "second.bin" e contiene il contenuto del file "data2.bin".
  • Salvataggio dell’archivio: Infine, il Il metodo save viene chiamato sull’oggetto archivio per salvare l’archivio ZIP appena creato con le voci specificate in "archive.zip".

Come aggiungere file all'archivio 7zip

Per aggiungere più allegati a un singolo archivio 7zip, utilizziamo la classe SevenZipArchive insieme ai metodi createEntry e save in modo simile.

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

Il codice seguente esegue le stesse azioni del precedente, ma per il formato 7-ZIP .

{{i18n.archive-type-3.title}}

L’espansione degli archivi spesso implica l’estrazione, l’aggiunta di nuovi file e la ricompressione, che è un processo ad alta intensità di risorse. Aspose.ZIP offre una soluzione più intelligente in Java. Basta aprire l’archivio per l’estrazione e aggiungere direttamente nuove voci, evitando inutili reimballaggi. Questo approccio efficiente funziona per il formato di archivio 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");
    }

Questa applicazione condivide le funzionalità della precedente, ma è adattata agli archivi con l’estensione TAR .

Come creare il file GZ

Formati di sola compressione senza voci. Questi formati di compressione, inclusi GZIP, LZ, BZIP2, XZ e Z, non supportano le voci di file. Possono comprimere solo un singolo file sorgente alla volta.

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

Crea TAR GZ

Aspose.ZIP offre un modo conveniente per combinare formati di solo archivio e di sola compressione utilizzando un unico metodo. Ecco un esempio di questa funzionalità con la combinazione TAR.GZ. Questo metodo utilizza [saveGzipped](https:// reference.aspose.com/zip/java/com.aspose.zip/tararchive/#saveGzipped-java.lang.String-).

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

Crea TARLZ

Per prima cosa creiamo un oggetto FileInputStream, collegato al file da archiviare. Successivamente creiamo l’oggetto LzipArchive, impostiamo source sull’oggetto FileInputStream creato in precedenza e salviamo l’archivio.

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

Crea file TAR BZ2

Aspose.ZIP offre metodi simili per comprimere archivi con formati LZIP, XZ, ZStandard e Z. Tuttavia, per BZIP2 è richiesto un approccio diverso.

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

Questa costruzione del codice combina l’uso di due diversi formati di archivio, vale a dire TAR e Bzip2. La caratteristica principale è che un archivio TAR viene prima creato utilizzando la classe TarArchive aggiungendovi diversi file utilizzando il metodo createEntry, quindi questo archivio è compresso nel formato Bzip2 utilizzando la classe Bzip2Archive .

Altre funzionalità API Aspose.ZIP per Java supportate

Con la libreria Aspose.ZIP in Java, puoi gestire senza problemi varie attività relative ai documenti di file ZIP. Se hai bisogno di convertire formati, unire file, modificare contenuti o estrarre dati, Aspose.ZIP offre funzionalità complete per semplificare il flusso di lavoro e migliorare la produttività.

  

Support and Learning Resources

  
  

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