Ajouter un commentaire

fredericmazue

Quote:
Si j'ai bien compris il suffit de transmetre le fichier à compresser (sans le faire byte par byte)

Hem je me suis très mal exprimé je pense. J'ai voulu dire qu'il fallait injecter les fichiers et leur contenu sans faussement dire que le contenu est des bytes. Si tu dis que c'est des bytes avec ton tableau de bytes tu écris des bytes dans l'archive, pas des caractères alors qu'il y a très probablement des caractères dans les fichiers.

Quote:
mais je n'ai pas trouver comment le faire, je n'ai rien trouver ni sur le net ni dans mon bouquin Java.

C'est pour ça que ce forum existe :)

Alors voilà un exemple. Soient deux fichiers programmez.txt et abonnement.txt. les fichiers existent (dans le répertoire de l'utilisateur) et contiennent du texte.
On les met tous les deux dans l'archive monzip.zip

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

public class CreateZip {

  String[] fichiers =
      {
      "programmez.txt",
      "abonnement.txt",
  };

  public void createZip() {

    FileUtilities.setWorkingDirectory();
    String prefix = System.getProperty("user.dir");

    try {
      FileOutputStream fos =
          new FileOutputStream(System.getProperty("user.dir")
                               + File.separator + "monzip.zip");
      ZipOutputStream zos = new ZipOutputStream(fos);
      for(int i=0; i<fichiers.length; i++) {
        ZipEntry entree = new ZipEntry(fichiers[i]);
        zos.putNextEntry(entree);
        // Ici copier le fichier
        File f = new File(prefix + File.separator + fichiers[i]);
        InputStream in = new FileInputStream(f);
        while (in.available() > 0)
          zos.write(in.read());
        in.close();
        zos.closeEntry();
      }
      zos.close();
    }
    catch(IOException ioe) {
      ioe.printStackTrace();
    }
  }

  public static void main(String[] args) {
    CreateZip cz = new CreateZip();
    cz.createZip();
  }
}

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 RRRR       J  Y   Y   SSS       J 
R R J Y Y S J
RRRR J Y SSS J
R R J J Y S J J
R RR JJJ Y SSSS JJJ