Les Snippets

Connexion

Compression & Decompression ZIP

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 23/09/2006 11:14:51 et initié par sheorogath [Liste]
Date de mise à jour : 23/09/2006 11:42:08
Vue : 8276
Catégorie(s) : Compression & Split
Langages dispo pour ce code :
- Java
- Windev



Langage : Java
Date ajout : 23/09/2006
Posté par sheorogath [Liste]

import java.io.*;
import java.util.zip.*;

public class FileUtils {
 /**
  * compresse un fichier
  * 
  * @param src
  *            le fichier a compresser
  * @param dest
  *            la destination du fichier decompressé
  * @throws ZipException
  * @throws IOException
  */
 public static void compress(File src, File dest) throws ZipException,
   IOException {
  FileOutputStream fout = new FileOutputStream(dest);
  ZipOutputStream zout = new ZipOutputStream(fout);
  ZipEntry ze = new ZipEntry(src.getName());
  zout.putNextEntry(ze);
  FileInputStream in = new FileInputStream(src);
  byte[] tab = new byte[4096];
  int lu = -1;
  do {
   lu = in.read(tab);
   if (lu > 0)
    zout.write(tab, 0, lu);
  } while (lu > 0);
  zout.finish();

  in.close();

  zout.closeEntry();
  zout.close();
  fout.close();
  in.close();

 }

 /**
  * decompresse un fichier
  * 
  * @param src
  *            fichier a decompresser
  * @param dest
  *            cible
  * @throws IOException
  */
 public static void decompress(File src, File dest) throws IOException {
  FileOutputStream fout = new FileOutputStream(dest);
  FileInputStream in = new FileInputStream(src);
  ZipInputStream zin = new ZipInputStream(in);
  ZipEntry zen = zin.getNextEntry();
  byte[] tab = new byte[4096];
  int lu = -1;
  do {
   lu = zin.read(tab);
   if (lu > 0)
    fout.write(tab, 0, lu);
  } while (lu > 0);
  fout.flush();

  zin.closeEntry();
  zin.close();
  fout.close();
  fout.close();
  in.close();
 }
}

Remarque :
ces methodes de ne permettent la compression que d'un seul fichier et pas de plusieurs.
je ne l'ai prevu que pour pouvoir envoyer des fichier plus petit sur le reseau
Langage : Windev
Date ajout : 25/09/2006
Posté par fabienlaps [Liste]
// Compression : Création de l'archive
ResCréation = zipCreé("MonArchive", "C:\Temp\Archive.zip")
SI ResCration = 0 ALORS
    // Ajout d'un fichier dans une archive
    ResAjoutFichier = zipAjouteFichier("MonArchive", ...
              "C:\MonRpertoire\MesFichiers\Fichier.pdf", zipDisque)
FIN
// Décompression
// Ouverture d'une archive
ResOuvreArchive = zipOuvre("Archive", "C:\Archives\Archive.zip")
SI ResOuvreArchive = 0 ALORS
   ...
   // Extraction de tous les fichiers de l'archive
   ResExtraitTout = zipExtraitTout("Archive", zipDisque)
   ...
FIN



Snippets en rapport avec : Compression, Decompression, Zip, Stream, Io



Codes sources en rapport avec : Compression, Decompression, Zip, Stream, Io

{Visual Basic, VB6, VB.NET, VB 2005} [.NET2] COMPRESSION/DÉCOMPRESSION GZIP DE FICHIER GRÂCE À IO.COMPRESSION
Un tout petit sample de la classe incroyablement pratique Io.Compression, permettant de compresser e...

{Visual Basic, VB6, VB.NET, VB 2005} ZLIB.NET : COMPRESSION ZIP AVEC VB.NET
Voici ma première source en .NET donc soyez indulgent. Après avoir longtemps chercher comment fai...

{PHP} CLASS MYSQL/SQLITE + SAUVEGARDE DE BDD + COMPRESSION ZIP
Après une refonte total du script pour le transformer en class (ca m'as permis de faire ma premiere ...

{Visual Basic, VB6, VB.NET, VB 2005} LISA (LOGICIEL INTERACTIF DE SAUVEGARDE)
J'ai développé ce soft pour palier un manque sous Windows de réaliser une sauvegarde et restauration...

{Visual Basic, VB6, VB.NET, VB 2005} NET-2 COMPRESSION DE FICHIER EN ZIP AVEC L'AIDE DE VJ# ET EN GZIP AVEC L'AJOUT DU NOM DE FICHIER
L'idée originale est venue d'un besoin de regrouper un paquet de fichiers zip (des polices de caract...

{Visual Basic, VB6, VB.NET, VB 2005} MODULE ZLIB - LA COMPRESSION FACILE... (OU DECOMPRESSION)
Je sais que de telles sources existent déjà sur le site, mais là, ca gère tout en mémoire, sans crée...

{C# / C#.NET} COMPRESSION / DECOMPRESSION A PARTIR DU SDK LZMA DE 7ZIP ( MULTI FICHIER )
Comme le dit le titre, cette librairie / class, je ne sais pas comment vous appelez ça ( ça ne fait ...

{Delphi} HUFFMAN ADAPTATIF
Exemple de Compression / Decompression avec l'algorythme Huffman Adaptatif en Trubo Pascal......

{Delphi} HUFFMAN
Exemple de Compression / Decompression avec l'algorythme Huffman en Trubo Pascal......

{Delphi} LEMPEL-ZIV-WELCH
Exemple de Compression / Decompression avec l'algorythme Lempel-Ziv-Welch (LZW) en Trubo Pascal......