Comprimere i dati (ZIP e JAR)

In questo articolo impareremo come comprimere i nostri dati in java utilizzando java.util.jar java.util.zip. Leggere e scrivere file JAR, ZIP e GZIP non è cosi difficile.

Il formato ZIP è quello più diffuso nel mondo, fin dallo storico PKZIP della PKWARE per MS-DOS. Il formato GZIP (.tar.gz) e’ il suo equivalente nel mondo Unix/Linux. La differenza fondamentale è che lo ZIP è in grado di comprimere intere directory e collezioni di files, mentre GZIP si limita a comprimere un solo file (il .tar).

Il JAR si basa sull’algoritmo dello ZIP e solitamente include un file manifest che contiene informazioni sul contenuto. Ovviamente si tratta di compressioni senza DATA LOSS e quindi completamente reversibili.

java.util.zip è il package di base per la lettura e scrittura di file compressi. La classe base è Deflater che si occupa di implementare l’algoritmo di compressione più utilizzato (Lempel Ziv). Il suo equivalente in fase di decompressione è la classe Inflater. Per creare un file zip però possiamo utilizzare direttamente le classi ZipEntry e ZipOutputStream, che ci permettono di gestire il file zip allo stesso modo in cui gestiamo i file in Java.

Nel seguente esempio possiamo invece vedere come sia semplice leggere informazioni da un file zip

Il codice è piuttosto semplice e non richiede altro che una lettura attenta. Per maggiori informazioni vi rimando alle API dei due package:

java.util.zip

java.util.jar

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *