Marciano Verde
27/09/13, 18:34:29
Hola, quiero listar los archivos contenidos en un zip, no quiero descomprimirlo ni nada, solo quiero listar el nombre de los archivos presentes, mi código es:
------------------------------------------------------------------------------------------------
ZipInputStream InputStream = new ZipInputStream(new FileInputStream(Archivo));
ZipEntry ze;
String itmName;
// recorremos el archivo completo tomando los nombres de los archivos comprimidos
while ((ze = InputStream.getNextEntry()) != null) {
if (!ze.isDirectory()) {
itmName = ze.getName().toLowerCase();
if(itmName.endsWith(".txt") || itmName.endsWith(".tx2f") || itmName.endsWith(".tx3")){
lista_paginas.add(itmName);
}
}
}
// Ordenamos la lista
Collections.sort(lista_paginas);
------------------------------------------------------------------------------------------------
Funcina bien, pero el problema es que me va lento... y eso que el zip apenas contiene unos 30 archivos, la parte lenta está en el código que he puesto, que simplemente recorre el zip listando los archivos con una determinada extensión, ¿alguna idea de como hacerlo más rápido?
------------------------------------------------------------------------------------------------
ZipInputStream InputStream = new ZipInputStream(new FileInputStream(Archivo));
ZipEntry ze;
String itmName;
// recorremos el archivo completo tomando los nombres de los archivos comprimidos
while ((ze = InputStream.getNextEntry()) != null) {
if (!ze.isDirectory()) {
itmName = ze.getName().toLowerCase();
if(itmName.endsWith(".txt") || itmName.endsWith(".tx2f") || itmName.endsWith(".tx3")){
lista_paginas.add(itmName);
}
}
}
// Ordenamos la lista
Collections.sort(lista_paginas);
------------------------------------------------------------------------------------------------
Funcina bien, pero el problema es que me va lento... y eso que el zip apenas contiene unos 30 archivos, la parte lenta está en el código que he puesto, que simplemente recorre el zip listando los archivos con una determinada extensión, ¿alguna idea de como hacerlo más rápido?