Extraer archivos de un Jar desde Java

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
      /**
       * @author leyer
       */
public class JarExtract {
  public static void extractJar(String jarFile, java.io.File directory)throws IOException{
  java.util.jar.JarInputStream jarInput = new java.util.jar.JarInputStream(new FileInputStream(jarFile));
  java.util.jar.JarEntry jarEntry=null;
     while((jarEntry=jarInput.getNextJarEntry())!=null){
      java.io.File file=new java.io.File(directory,jarEntry.getName());
         if (jarEntry.isDirectory()){
          if (!file.exists())
                 file.mkdirs();
         }else{ java.io.File dir = new java.io.File(file.getParent());
             if (!dir.exists())dir.mkdirs();
             byte[] bytes = new byte[1024];
             java.io.InputStream inputStream   = new BufferedInputStream(jarInput);
             FileOutputStream fileOutputStream = new FileOutputStream(file);
             int read = -1;
             while ((read = inputStream.read(bytes)) != -1) {
              fileOutputStream.write(bytes, 0, read);
          }
             fileOutputStream.close();             
         }
     }}
public static void main(String[] args) throws IOException {
 extractJar("Archivo.jar",new java.io.File("/home/leyer/"));
 }
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: