isdine
Messages postés15Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 8 janvier 2005
-
26 août 2004 à 12:05
wargre
Messages postés649Date d'inscriptionmardi 8 juin 2004StatutMembreDernière intervention 9 septembre 2004
-
27 août 2004 à 11:51
Bonjour
je suis entrain de developper une application en java et j'ai besoin de zipper un dossier avec ses sous-dossier et là c'est coince. J'ai grand besoin d'aide
Merci d'avance
wargre
Messages postés649Date d'inscriptionmardi 8 juin 2004StatutMembreDernière intervention 9 septembre 20047 27 août 2004 à 11:51
tu fais:
void createZip(String pathSource,File zipsortie){
-> creation du zip
addDirToZip(pathSource,pathSource,outputZip);
}
void addDirToZip(String root,String path,ZipOutputStream os){
pour chaque File f de path{
si f est un fichier, l'ajouter a os (chemin relatif a calculer avec root)
si f est un repertoire appel de addDirToZip(root,f,os);
}
}
isdine
Messages postés15Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 8 janvier 2005 26 août 2004 à 14:36
public void zipcenter(String pathSource,String PathDestination,String Fichier) throws Exception
try {
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(PathDestination+Fichier);
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
//out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = new byte[BUFFER];
// get a list of files from current directory
File f = new File(pathSource);
String files[] = f.list();
for (int i=0; i<files.length; i++) {
//System.out.println("Adding: "+files[i]);
FileInputStream fi = new
FileInputStream(pathSource+files[i]);
origin = new
BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i]);
out.putNextEntry(entry);
int count;
while((count = origin.read(data, 0,BUFFER)) != -1) {
out.write(data, 0, count);
}
origin.close();
}
out.close();
} catch(Exception e) {
e.printStackTrace();
}
avec ca je me parviens qu'à compresser le contenu d'un dossier pas les sous-dossier
Help please
Vous n’avez pas trouvé la réponse que vous recherchez ?
wargre
Messages postés649Date d'inscriptionmardi 8 juin 2004StatutMembreDernière intervention 9 septembre 20047 26 août 2004 à 16:40
bien dans ta boucle de fichier, il faut tester si ton fichier est un repertoire ou non. Si c'est un repertoire, il faut chercher ses fils et les inclure dans le zip.
isdine
Messages postés15Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention 8 janvier 2005 27 août 2004 à 11:23
J'ai bien essayer la recurssivité pour la compression mais je n'y parviens pas si kelk'un pouvait m'expliquer ou me dire comment faire se serait vraiment sympa. Je suis à un poil de peter les plombs