Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java: extraire un fichier zip ou jar

 int,string,char,static, url, socket, url, socket, java
{filelink=23}

import java.io.*;
import java.util.*;
import java.util.jar.*;
import java.util.zip.*;
 
public class Decompression
{
 
  	public static void extraireDossiers(String fichierZip, String extension)
  {
       try
       {
      System.out.println("Extraction de fichier "+fichierZip+".....");
      int BUFFER = 2048;
      File fichier = new File(fichierZip);
 
      ZipFile zip = new ZipFile(fichier);
 
      // créer un répertoire avec le même nom que le fichier compressé
      String nouveauRep = fichierZip.substring(0, fichierZip.length() - (extension.length()+1));
      new File(nouveauRep).mkdir();
      Enumeration fichierZipEntries = zip.entries();
 
      // Parcouriri le contenu du fichier compressé
      while (fichierZipEntries.hasMoreElements())
      {
          // début du traitement de l'entrée courante
          ZipEntry entry = (ZipEntry) fichierZipEntries.nextElement();
          String currentEntry = entry.getName();
          File fichierDest = new File(nouveauRep, currentEntry);
          File destinationParent = fichierDest.getParentFile();
 
          // Création de répertoire container si nécessaire pour l'entrée courante
          destinationParent.mkdirs();
 
          if (!entry.isDirectory())
          {
			   // Création d'un "Buffer" pour l'écriture de fichier
              BufferedInputStream is = new BufferedInputStream(zip
              .getInputStream(entry));
              int currentByte;
              byte data[] = new byte[BUFFER];
 
              // Ecriture de fichier courant sur le disque
              FileOutputStream fichier_out = new FileOutputStream(fichierDest);
              BufferedOutputStream dest = new BufferedOutputStream(fichier_out,
              BUFFER);
              while ((currentByte = is.read(data, 0, BUFFER)) != -1)
              {
                  dest.write(data, 0, currentByte);
              }
              dest.flush();
              dest.close();
              is.close();
 
              // Fin du traitement de l'entrée courante
          }
          /*
           Si le fichier contient un autre fichier compressé,
           reproduire la même action avec une récursion
          */
          if (currentEntry.endsWith(extension))
          {
              extraireDossiers(fichierDest.getAbsolutePath(),extension);
          }
      }
       } catch (IOException err)
      {
          err.printStackTrace();
          return;
      }
   }
 
   public static void main(String arg[])
   {
 
	   // Extraction d'un fichier zip
	   extraireDossiers("test2.zip","zip");
 
	   // Extraction d'un fichier jar
	    extraireDossiers("test.jar","jar");
   }
 
}

A Voir sur le même Sujet:

  • dézipper un fichier java
  • java extraire extension de fichier
  • java zip extraction
  • extraire+le+contenu+d'un+fichier+dans+un+autre+java
  • décompresser zip en java
  • java dézipper fichier
  • appel fonction java jar php
  • décompresser un zip java
  • extraction de données à partir d'un fichier excel java coding
  • decompresser fichier java