Come leggere i file ZIP con Java

February 20

L'utente non può rendersene conto, ma Java ha già tutti gli strumenti necessari per gestire il formato di compressione di file e confezionamento ZIP comune costruito a destra per impostazione predefinita. Se è necessario scrivere un'applicazione che è in grado di gestire i file ZIP, come ad esempio un nuovo assassino WinZip, Java ha tutte le attrezzature necessarie per iniziare.

istruzione

1 Creare un programma Java. Al più semplice, è possibile farlo con l'apertura di qualsiasi editor di testo, come Blocco note, e subito salvarla con il nome "ZipReader.java." Tuttavia, se si dispone di un ambiente di sviluppo Java integrato come Netbeans o Eclipse, è possibile salvare un po 'di tempo facendo clic su "File" - & gt; ". Nuovo progetto"

2 Importare le seguenti librerie dalla libreria standard di Java che sarà necessario per leggere i file Zip incollando il seguente nella parte superiore del file appena creato nel passaggio 1.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

3 Incollare il seguente codice nel programma per dare la sua struttura di base:

public class ZipExample {

Main (string [] args) {public static void
provare {

} Catch (Exception e) {
System.out.println ( "ERROR");
}
}
}

Tutto il resto del codice andrà tra i "provare" e le dichiarazioni "catturare", che sono progettati per gestire eventuali errori che possono verificarsi.

4 Preparare alcune variabili per contenere i dati dal file zip temporaneo incollando i seguenti comandi nel blocco "prova" del metodo principale che hai scritto al punto 3:

ingresso ZipEntry;
int BUFFER = 1024;
int count = 0;
byte [] dati = new byte [1024];

ZipEntry farà riferimento a ciascun file in archivio ZIP a sua volta. Buffer è il numero di byte da leggere dal file ZIP in un momento, e 1.024 è un numero abbastanza standard, ma non importa ciò che si sceglie. Lo scopo è semplicemente quello di assicurare che il disco rigido non è sovraccarico lettura byte singolo uno per uno. Infine, il conteggio sta per tenere traccia di quanti byte sono effettivamente letto dal file ZIP in ogni passaggio (dal momento che la dimensione del file è improbabile che sia un multiplo di 1024.) Questo è importante, perché è necessario sapere quanto i dati vengono scritti nel nuovo file nel passaggio 6.

5 Aprire il file ZIP. Questo è un processo in due fasi. In primo luogo, è necessario leggere il file zip in un FileInputStream, e in secondo luogo è necessario convertire questo in un ZipInputStream. Incollare il seguente codice per ottenere questo risultato:

FileInputStream file_input = new FileInputStream ( "archive.zip");
ZipInputStream Zin = new ZipInputStream (file_input);

6 Passare attraverso il file ZIP, una voce alla volta e scrivere che l'ingresso sul disco rigido, con il seguente codice, incollato subito dopo l'ultimo codice:

while ((ingresso = zin.getNextEntry ())! = null) {
FileOutputStream fout = new FileOutputStream (entry.getName ());

while ((count = zin.read (dati, 0, buffer))! = -1) {
fout.write (dati, 0, count);
}

fout.flush ();
fout.close ();

}

7 Chiudere il file ZIP dal incollando il seguente subito dopo l'ultimo codice:

zin.close ();