- import java.util.zip.*;
- import java.io.*;
-
- public class ZIP {
-
- public static void main(String args[]) throws Exception {
-
- //Déclaration de l'archive ZIP
- String rep = "c:compresse";
- String fichzip = "zippé.zip";
- File fichier = new File(rep, fichzip);
- FileOutputStream flux = new FileOutputStream(fichier);
- ZipOutputStream fichierZIP = new ZipOutputStream(flux);
-
- //Méthode de compression DEFLATED
- fichierZIP.setMethod(ZipOutputStream.DEFLATED);
-
- //Niveau de compression
- //9 = BEST_COMPRESSION
- fichierZIP.setLevel(Deflater.BEST_COMPRESSION);
-
- boolean fin = false;
- int n = 1;
- BufferedReader entree = new BufferedReader(new
-
- InputStreamReader(System.in));
- while(!fin){
-
- System.out.println("Nom du fichier numero "+n+" a archiver.\nNe pas
-
- oublier l'extension. \nTapez \"x2802x\" pour sortir");
- System.out.println ();
- n++;
-
- String Fich = entree.readLine();
- if(Fich.equals("x2802x")){ fin = true; }
-
- ZipEntry entreeZIP = new ZipEntry(Fich);
- fichierZIP.putNextEntry(entreeZIP);
-
- //Envoi du contenu dans l'archive à travers un flux
- BufferedOutputStream flushOut = new BufferedOutputStream(fichierZIP);
- DataOutputStream fileData = new DataOutputStream(flushOut);
- if(Fich.equals("x2802x")){fileData.writeBytes("c'est la fin!");}
- else{
- System.out.println("Entrez les donnees a garder ici.");
- System.out.println("Pour finir taper x2802x sur une ligne
-
- vide.");
- System.out.println();
- while(!(Fich=entree.readLine()).equals("x2802x")){
- fileData.writeBytes(Fich);
- fileData.flush();
- }
- Fich = "";
- }
-
- //Fermeture de l'archive jusqu'à la prochaîne entrée
- fichierZIP.closeEntry();
- System.out.println ("Taille : " + entreeZIP.getCompressedSize());
- System.out.println ();
-
- if(Fich.equals("x2802x")){ fileData.close(); }
- }
- //Fermeture de l'archive et du flux
- fichierZIP.close();
- flux.flush();
- flux.close();
- }
- }
import java.util.zip.*;
import java.io.*;
public class ZIP {
public static void main(String args[]) throws Exception {
//Déclaration de l'archive ZIP
String rep = "c:compresse";
String fichzip = "zippé.zip";
File fichier = new File(rep, fichzip);
FileOutputStream flux = new FileOutputStream(fichier);
ZipOutputStream fichierZIP = new ZipOutputStream(flux);
//Méthode de compression DEFLATED
fichierZIP.setMethod(ZipOutputStream.DEFLATED);
//Niveau de compression
//9 = BEST_COMPRESSION
fichierZIP.setLevel(Deflater.BEST_COMPRESSION);
boolean fin = false;
int n = 1;
BufferedReader entree = new BufferedReader(new
InputStreamReader(System.in));
while(!fin){
System.out.println("Nom du fichier numero "+n+" a archiver.\nNe pas
oublier l'extension. \nTapez \"x2802x\" pour sortir");
System.out.println ();
n++;
String Fich = entree.readLine();
if(Fich.equals("x2802x")){ fin = true; }
ZipEntry entreeZIP = new ZipEntry(Fich);
fichierZIP.putNextEntry(entreeZIP);
//Envoi du contenu dans l'archive à travers un flux
BufferedOutputStream flushOut = new BufferedOutputStream(fichierZIP);
DataOutputStream fileData = new DataOutputStream(flushOut);
if(Fich.equals("x2802x")){fileData.writeBytes("c'est la fin!");}
else{
System.out.println("Entrez les donnees a garder ici.");
System.out.println("Pour finir taper x2802x sur une ligne
vide.");
System.out.println();
while(!(Fich=entree.readLine()).equals("x2802x")){
fileData.writeBytes(Fich);
fileData.flush();
}
Fich = "";
}
//Fermeture de l'archive jusqu'à la prochaîne entrée
fichierZIP.closeEntry();
System.out.println ("Taille : " + entreeZIP.getCompressedSize());
System.out.println ();
if(Fich.equals("x2802x")){ fileData.close(); }
}
//Fermeture de l'archive et du flux
fichierZIP.close();
flux.flush();
flux.close();
}
}