Tecnología

Inicio

Cómo leer archivos Zip con Java

Es posible que no se den cuenta, pero Java ya tiene todas las herramientas que necesita para gestionar la compresión de archivos y código postal envasado formato común construido en el derecho de forma predeterminada. Si necesita escribir una aplicación que es capaz de manejar archivos ZIP, como un nuevo asesino en WinZip, Java ha todo el equipamiento que necesita para empezar.

Instrucciones

1 Crear un programa Java. En el más simple, se puede hacer esto mediante la apertura de cualquier editor de texto, como el Bloc de notas, e inmediatamente guardarlo con el nombre "ZipReader.java." Sin embargo, si tiene un entorno de desarrollo Java integrado como Netbeans o Eclipse, se puede ahorrar un poco de tiempo haciendo clic en "Archivo" - & gt; "Nuevo proyecto".

2 Importe las siguientes bibliotecas de la librería estándar de Java que se necesita para leer archivos Zip pegando el siguiente al principio del archivo que acaba de crear en el paso 1.

java.io.FileInputStream importación;
java.io.FileOutputStream importación;
java.util.zip.ZipEntry importación;
java.util.zip.ZipInputStream importación;

3 Pegar el código siguiente en el programa para darle su estructura básica:

ZipExample public class {

principales argumentos (String []) {public static void
tratar {

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

Todo el resto del código se coló entre las declaraciones y "tratar", "captura", que están diseñados para manejar los errores que se puedan producir.

4 Preparar algunas variables para contener los datos desde el archivo zip temporal pegando los siguientes comandos en el bloque de "probar" del método principal que anotó en el paso 3:

ZipEntry entrada;
BUFFER int = 1024;
int cuenta = 0;
byte [] = new byte de datos [1024];

ZipEntry hará referencia a cada archivo en el archivo ZIP a su vez. Buffer es el número de bytes a leer desde el archivo ZIP a la vez, y el 1.024 es un número bastante estándar, pero no importa lo que usted elija. El propósito es simplemente para asegurar que el disco duro no está sobrecargado de trabajo de leer bytes individuales uno por uno. Por último, el recuento se va a realizar un seguimiento de cuántos bytes se leen en realidad desde el archivo ZIP en cada pasada (ya que el tamaño del archivo es poco probable que sea un múltiplo de 1024.) Esto es importante, ya que necesitará saber cuánto se escriben los datos en el nuevo archivo en el paso 6.

5 Abra el archivo ZIP. Este es un proceso de dos pasos. En primer lugar, usted debe leer el archivo zip en un FileInputStream, y en segundo lugar hay que convertir esto en un ZipInputStream. Pegar el código siguiente para lograr esto:

FileInputStream FILE_INPUT = new FileInputStream ( "archive.zip");
ZipInputStream zin = new ZipInputStream (FILE_INPUT);

6 Ir a través del archivo ZIP, una entrada a la vez y escribe que la entrada a la unidad de disco duro, con el siguiente código, pegado inmediatamente después del último código:

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

while ((count = zin.read (datos, 0, tampón))! = -1) {
fout.write (datos, 0, count);
}

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

}

7 Cierre el archivo ZIP pegando el siguiente inmediatamente después del último código:

zin.close ();