Nwlapcug.com


Come leggere i file Zip con Java

Forse non lo sai, ma Java ha già tutti gli strumenti di cui ha bisogno per gestire la compressione e l'imballaggio ZIP formato di file comune costruito a destra in per impostazione predefinita. Se è necessario scrivere un'applicazione che è in grado di gestire i file ZIP, ad esempio un nuovo assassino di WinZip, Java ha tutta l'attrezzatura di cui che avete bisogno per iniziare.

Istruzioni

1

Creare un programma Java. Al più semplice, è possibile farlo aprendo qualsiasi editor di testo, ad esempio Blocco note, e immediatamente di salvarlo con il nome "ZipReader.java." Tuttavia, se si dispone di un ambiente di sviluppo integrato di Java 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 Java che sarà necessario leggere i file Zip incollando il seguente nella parte superiore del file che appena creato nel passaggio 1.

importazione java.io.FileInputStream;
importazione java.io.FileOutputStream;
ZipEntry di importazione;
importazione ZipInputStream;

3

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

public class ZipExample {

Public Shared Sub main (String [] args) {
try {

} catch (Exception e) {
System.out.println("Error");
}
}
}

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

4

Preparare alcune variabili per contenere i dati dal file zip temporaneamente incollando i seguenti comandi in blocco "try" del metodo principale che hai scritto nel passaggio 3:

ZipEntry voce;
int BUFFER = 1024;
int count = 0;
i dati byte [] = new ubyte [1024];

ZipEntry farà riferimento a sua volta per ogni file nell'archivio ZIP. Buffer è il numero di byte da leggere dal file ZIP alla volta e 1.024 è un numero abbastanza standard, ma non importa ciò che si sceglie. Lo scopo è semplicemente di assicurare che il disco rigido non è oberato di lavoro lettura singoli byte uno per uno. Infine, conte sta per tenere traccia di quanti byte sono effettivamente leggere dal file ZIP in ogni passaggio (dato che la dimensione del file è improbabile da essere un multiplo di 1024). Questo è importante, perché sarà necessario conoscere la quantità di dati viene scritto per il nuovo file nel passaggio 6.

5

Aprire il file ZIP. Si tratta di un processo in due fasi. In primo luogo, è necessario leggere il file zip in un FileInputStream, e in secondo luogo è necessario convertire questo in una ZipInputStream. Incollare il codice seguente per eseguire questa operazione:

FileInputStream file_input = nuovo FileInputStream("archive.zip");
ZipInputStream zin = nuovo ZipInputStream(file_input);

6

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

mentre ((voce = zin.getNextEntry())! = null) {
FileOutputStream fout = nuovo FileOutputStream(entry.getName());

mentre ((count = zin.read (dati, 0, BUFFER))! = -1) {
fout.Write (dati, 0, count);
}

fout.Flush();
fout.Close();

}

7

Chiudere il file ZIP incollando il seguente immediatamente dopo l'ultimo codice:

zin.Close();