Quote:
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
Voici ce qui me parait enfin très claire.
Merci pour ton aide. :D
Comme je n'ai qu'un fichier à compresser j'ai adapter ton exemple à mon cas d'utilisation.
Voici le résultat:
public String ZipOneFileB(String zipFileName, String source )
{
int retour = 0;
/*************
* Compression
*************/
try {
// création d'un flux d'écriture sur fichier
FileOutputStream dest = new FileOutputStream( zipFileName+ ".zip");
// calcul du checksum : Adler32 (plus rapide) ou CRC32
CheckedOutputStream checksum = new CheckedOutputStream(dest, new Adler32());
// création d'un buffer d'écriture
BufferedOutputStream buff = new BufferedOutputStream(checksum);
// création d'un flux d'écriture Zip
ZipOutputStream out = new ZipOutputStream(buff);
// spécification de la méthode de compression
out.setMethod(ZipOutputStream.DEFLATED);
// spécifier la qualité de la compression 0..9
out.setLevel(Deflater.BEST_COMPRESSION);
// buffer temporaire des données ‡ écriture dans le flux de sortie
byte data[] = new byte[BUFFER];
ZipEntry entree = new ZipEntry(source);
out.putNextEntry(entree);
File f = new File(source);
InputStream in = new FileInputStream(f);
while (in.available() > 0)
out.write(in.read());
in.close();
// Close the current entry
out.closeEntry();
// fermeture du flux d'écriture
out.close();
buff.close();
checksum.close();
dest.close();
// traitement de toute exception
} catch(Exception e) {
e.printStackTrace();
test.log_erreur( e.getMessage(), this );
return "pb"+retour;
}
return "0";
}
___________
Cordialement,
Manu
Voici ce qui me parait enfin très claire.
Merci pour ton aide. :D
Comme je n'ai qu'un fichier à compresser j'ai adapter ton exemple à mon cas d'utilisation.
Voici le résultat:
___________
Cordialement,
Manu