Java: Descomprimir archivos con java

Hola, acá les dejo un ejemplo que me estuvieron pidiendo hace tiempo.
Desempaquetar / descomprimir uno o varios archivos:

.ZIP
.RAR
etc

con sentencias de java, sin utilizar librería externas.

Espero les sea de utilidad.


////////////////////////////////////////////
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipInputStream;


public class Descomprime {

public static void main(String[] args) {
 
try{

File carpeta = new File("D://DATA//pruebadescomprime");
  for (File f : carpeta.listFiles()) {
  if(f.getName().contains(".zip")){
System.out.println(f.getName());
  descomprimir(f.getAbsolutePath(), f.getAbsolutePath().substring(0, f.getPath().length()-4));
  //f.delete(); opcional, si desea también borrar el archivo zip original
  }
  }

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

public static void descomprimir(String archivoZIP, String archivoDescomprimido) throws Exception {
  int BUFFER_SIZE = 1024;
  BufferedOutputStream bos = null;
  FileInputStream fis = null;
  ZipInputStream zipis = null;
  FileOutputStream fos = null;

  try {
   fis = new FileInputStream(archivoZIP);
   zipis = new ZipInputStream(new BufferedInputStream(fis));
   if (zipis.getNextEntry() != null) {
    int len = 0;
    byte[] buffer = new byte[BUFFER_SIZE];
    fos = new FileOutputStream(archivoDescomprimido);
    bos = new BufferedOutputStream(fos, BUFFER_SIZE);

    while  ((len = zipis.read(buffer, 0, BUFFER_SIZE)) != -1)
     bos.write(buffer, 0, len);
    bos.flush();
   } else {
    throw new Exception("Zip Vacio");
   } // cierra if
  } catch (Exception e) {
   throw e;
  } finally {
   bos.close();
   zipis.close();
   fos.close();
   fis.close();
  } // cierra try

} // cierra descomprimir

}


////////////////////////////////////////////


Publicar un comentario

Entradas populares de este blog

Java - Ejemplo de como consumir un Web Service

Java: Primera aplicación web con Eclipse

Java - Ejemplo de como crear un Web Service