[Java] Compresser dossier et sous dossier ?

SoGeek Messages postés 193 Statut Membre -  
 swed -
Bonjour à tous :) !

Je requière votre aide pour un problème de compression de dossier en Java.

Je vous explique mon problème :

Avec mon logiciel, je crée à la fin un répertoire, appelons le "folder" (qui par la suite sera upload sur un ftp) contenant des sous dossiers qui eux mêmes contiennent des fichiers, mais le problème, c'est que je n'arrive pas à compresser "Folder" avec les sous dossiers qu'il contient.

C'est pourquoi je vous demande un lien, une méthode, un code source, m'aidant à réaliser ceci, c'est à dire compresser un dossier avec ses sous-dossiers et ses fichiers en un seul ZIP.

Cordialement,
SoGeek.
PS : Bonne journée à vous, et merci à l'âme charitable qui m'aidera !


A voir également:

3 réponses

swed
 
Bonjour,

Il faut parcourir par toi même via une boucle, les fichiers présents dans ton répertoire, et les sous répertoires.
Tu pourras faire ça facilement en utilisant les fonctions File.list(), File.isDirectory() et la récursivité.

Ensuite, une fois que tu es certain que ta boucle parcours tous les fichiers voulus, tu crées un ZipOutputStream, et pour chaque fichier, tu ajoute une entrée dans le zip :
ZipOutputStream.putEntry(fileName);
ZipOutputStream.write(fileData);
ZipOutputStream.closeEntry();

Cordialement, M.
2
swed
 
Bonjour,

Il faut utiliser le package java.util.zip, qui permet de lire/écrire des archives zip ;
As-tu essayé ? Si oui, quel problème as-tu rencontré ?

Cordialement, M.
0
SoGeek Messages postés 193 Statut Membre 18
 
Salut Swed,

Tout d'abord merci de t'intéresser à ce sujet,
Si non, oui j'ai essayer plusieurs codes trouvés sur Google, en effet, ces derniers me permettent de compresser UN SEUL FICHIER et non pas un dossier avec ses sous-dossiers.

Cordialement,
SoGeek.
0