Zipeur de fichier 2

Description

zipeur de fichier(s) avec arborscence de sous-dossier.

Source / Exemple :


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

public class Zip {

  static final int BUFFER = 2048;

  /**

  • créateur de fichier zip [avec arborescence]
  • @param pathSource String
  • @param PathDestination String
  • @param nomFichier String
  • /
public Zip(String pathSource, String PathDestination, String nomFichier) { try { FileOutputStream dest = new FileOutputStream(PathDestination + nomFichier); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); add(pathSource, "", out); out.close(); } catch (Exception e) { e.printStackTrace(); } } /**
  • parcour de l'arborscence [le path de la racine est "" ]
  • @param pathSource String
  • @param path String
  • @param out ZipOutputStream
  • /
private void add(String pathSource, String path, ZipOutputStream out) { File f = new File(pathSource + path); File files[] = f.listFiles(); BufferedInputStream origin = null; byte data[] = new byte[BUFFER]; try { for (int i = 0; i < files.length; i++) { //System.out.println("Adding: "+files[i].getName()); if (files[i].isDirectory()) { //System.out.println("Adding: " + files[i].getName()); add(pathSource, path + files[i].getName() + "/", out); } else { FileInputStream fi = new FileInputStream(pathSource + path + files[i].getName()); origin = new BufferedInputStream(fi, BUFFER); ZipEntry entry = new ZipEntry(path + files[i].getName()); out.putNextEntry(entry); int count; while ( (count = origin.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } origin.close(); } } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Zip zip = new Zip( "C:/zip/essai/zip/essai/", "C:/zip/essai/zip/", "essai.zip" ); } }

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.