Java: extraire un fichier zip ou jar

Author:

 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:

  • jar extraire un fichier dans un répertoire spécifique
  • extraire jar java
  • exemple manipulation zip javascript
  • calendar arabe.jar
  • décompresser zip en java
  • java +decompresser un fichier zip
  • java decompacter jar
  • java dezipper
  • java décompresser zip
  • decompresser fichier zip en java

Leave a Reply

Your email address will not be published. Required fields are marked *