Java - Error al leer el contenido de un zip

   
Vista:

Error al leer el contenido de un zip

Publicado por Juan Jose (5 intervenciones) el 04/02/2013 12:16:19
Estoy intentando la apertura y lectura del contenido de un archivo zip. En el ejemplo abro un archivo que contiene 4 archivos comprimidos, cuando lee el ultimo de ellos da un error.
Aqui os dejo el codigo y la salida:

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


public class AbrirZip {
public static void main(String[] args){
FileInputStream myFile = null;
ZipInputStream zip = null;
ZipEntry archivoZip = null;

try{
myFile = new FileInputStream("prueba.zip");
zip = new ZipInputStream(myFile);


while((archivoZip =zip.getNextEntry()) != null){
System.out.println(archivoZip.getName());

zip.closeEntry();

}
}catch(IOException e){
System.out.println("Could not read file: " + e.toString());
}finally{
if(myFile != null){
try{
zip.close();
myFile.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
}
}

Salida:

LEER - README.txt
setup.exe
SickTown.com.url
Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(Unknown Source)
at java.util.zip.ZipInputStream.readLOC(Unknown Source)
at java.util.zip.ZipInputStream.getNextEntry(Unknown Source)
at AbrirZip.main(AbrirZip.java:18)


Seguro que es una tonteria pero agradeceria vuestra ayuda.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Error al leer el contenido de un zip

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 04/02/2013 14:40:40
Hola, pues a mi este código me funciona perfectamente, yo pensaria que el problema está en que el archivo comprimido está corrupto u otra cosa diferente pero el programa esta bn,La hice con varios zip y siempre me funciono. ¿Has intentado con diferentes archivos zip???. Al parecer este error tiene que ver con la forma en que java decodifica los archivos UTF-8. Es muy posible que algun archivo tenga un caracter extraño que no soporta esta formato. Como por ejemplo la letra ü. Si hay un no nombre de archivo con esa letra, el formato UTF-8 no soporta el caracter y te lanzará esta exception. El problema es que no tengo una solución pero solo puedo decirte de donde puede venir el error. Saludos espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al leer el contenido de un zip

Publicado por Juan Jose (5 intervenciones) el 04/02/2013 21:52:56
Tenias razon lo he probado con otro mas y este si que esta bien. Lo habia probado con dos diferentes y por casualidad veo que los dos estaban mal.
Gracias por el aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al leer el contenido de un zip

Publicado por Tom (910 intervenciones) el 04/02/2013 21:45:36
Vas a tener que actualizarte a Java 7 ... al menos podrás especificar un Charset en el constructor (tendrás que "adivinar" qué charset es el original).


http://docs.oracle.com/javase/7/docs/api/java/util/zip/ZipInputStream.html#ZipInputStream(java.io.InputStream, java.nio.charset.Charset)

Conveniente leer también la descripción del paquete:

http://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html#lang_encoding
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al leer el contenido de un zip

Publicado por Juan Jose (5 intervenciones) el 04/02/2013 21:59:04
Ya está, era problema de los zip que estaba probando, de todas formas echare un vistazo.
Gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al leer el contenido de un zip

Publicado por MArtin (1 intervención) el 09/09/2013 06:33:39
Aplica siguiente material programa para reparar archivos .zip dañados

http://www.zip.repairtoolboxx.com/es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar