Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
906 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Résolu]java.util.zip ne pas avoir le chemin des fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu]java.util.zip ne pas avoir le chemin des fichiers

n°1717626
Bubu017
C'est pour l'esthétiiiiiiiique
Posté le 15-04-2008 à 10:53:02  profilanswer
 

Bonjour,
 
Voilà je vous explique mon souci. J'ai une application qui me génère des fichiers PDF, ensuite je met ces fichiers dans un ZIP, jusque là pas de problème. Le problème est que dans le zip il y a le chemin des fichiers zippés, c'est à dire C, documents and settings etc...
 
j'ai publié dde dire que j'utilisaias java.util.zip
 
Je voudrais en fait ne plus avoir le chemin, pouvez vous m'aider s'il vous plait??
Merci  
 
Je vous met le code que j'utilise pour zipper mes fichies et répertoires (c'est un code trouvé sur un autre forum)

Code :
  1. public static void save(String zipName, String cheminRepertoire, String cheminZIP) {
  2.  try {
  3.   ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(cheminZIP + zipName + ".zip" ));
  4.   zip.setMethod(ZipOutputStream.DEFLATED);
  5.   zip.setLevel(Deflater.BEST_COMPRESSION);
  6.   File dataDirectories = new File(cheminRepertoire);
  7.   zipDirectory(dataDirectories, zip);
  8.   zip.close();
  9.   deleteAllFiles(cheminRepertoire);
  10.  }
  11.  catch (FileNotFoundException fileNotFound)
  12.  {}
  13.  catch (IOException io)
  14.  {}
  15. }
  16. private static void zipDirectory(File directory, ZipOutputStream zip) {
  17.  String[] listFile = directory.list();
  18.  for (int i = 0; i < listFile.length; i++) {
  19.   try {
  20.    File file = new File(directory.getPath()+"/"+listFile[i]);
  21.    if (file.isDirectory()){
  22.     zipDirectory(file, zip);
  23.    }
  24.    else {
  25.     FileInputStream in = new FileInputStream(file);
  26.     byte[] bytes = new byte[in.available()];
  27.     in.read(bytes);
  28.     in.close();
  29.     ZipEntry entry = new ZipEntry(file.getPath());
  30.     entry.setTime(file.lastModified());
  31.     zip.putNextEntry(entry);
  32.     zip.write(bytes);
  33.     zip.closeEntry();
  34.    }
  35.   }
  36.   catch (FileNotFoundException fileNotFound)
  37.   {}
  38.   catch (IOException io)
  39.   {}
  40.  }
  41. }


Message édité par Bubu017 le 17-04-2008 à 12:10:54

---------------
Un kébab sauce cocktail sans oignons avec double portions de frites
mood
Publicité
Posté le 15-04-2008 à 10:53:02  profilanswer
 

n°1719039
Bubu017
C'est pour l'esthétiiiiiiiique
Posté le 17-04-2008 à 11:34:54  profilanswer
 

J'ai trouvé  :bounce: (en fait on m'a un peu aidé mais bon) il suffit de remplacer getrPath par getName. Biens sur on n'a que les fichiers si on veut des répertoires mais bon après il suffit de bidouiller un peu. Voilà mon nouveau code pour montrer :

Code :
  1. private static void deleteAllFiles(String chemin) {
  2.  File directory = new File(chemin);
  3.  String[] listFile = directory.list();
  4.  for (int i = 0; i < listFile.length; i++) {
  5.   File file = new File(directory.getPath()+"/"+listFile[i]);
  6.   if (file.isDirectory()){
  7.    deleteAllFiles(file.getPath());
  8.    file.delete();
  9.   }
  10.   else {file.delete();
  11.   }
  12.   //file.delete();
  13.  }
  14. }
  15. public static void save(String zipName, String cheminRepertoire, String cheminZIP) {
  16.  try {
  17.   ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(cheminZIP + zipName + ".zip" ));
  18.   zip.setMethod(ZipOutputStream.DEFLATED);
  19.   zip.setLevel(Deflater.BEST_COMPRESSION);
  20.   File dataDirectories = new File(cheminRepertoire);
  21.   zipDirectory(dataDirectories, zip);
  22.   zip.close();
  23.   deleteAllFiles(cheminRepertoire);
  24.  }
  25.  catch (FileNotFoundException fileNotFound)
  26.  {}
  27.  catch (IOException io)
  28.  {}
  29. }
  30. private static void zipDirectory(File directory, ZipOutputStream zip) {
  31.  String[] listFile = directory.list();
  32.  for (int i = 0; i < listFile.length; i++) {
  33.   try {
  34.    File file = new File(directory.getPath()+"/"+listFile[i]);
  35.    if (file.isDirectory()){
  36.     zipDirectory(file, zip);
  37.    }
  38.    else {
  39.     FileInputStream in = new FileInputStream(file);
  40.     byte[] bytes = new byte[in.available()];
  41.     in.read(bytes);
  42.     in.close();
  43.     if(file.getParent().contains("PDF" )){
  44.      ZipEntry entry = new ZipEntry("PDF/"+file.getName());
  45.      entry.setTime(file.lastModified());
  46.      zip.putNextEntry(entry);
  47.      zip.write(bytes);
  48.      zip.closeEntry();
  49.     }
  50.     else if(file.getParent().contains("ImageRal" )){
  51.      ZipEntry entry = new ZipEntry("ImageRal/"+file.getName());
  52.      entry.setTime(file.lastModified());
  53.      zip.putNextEntry(entry);
  54.      zip.write(bytes);
  55.      zip.closeEntry();
  56.     }
  57.     else if(file.getParent().contains("Illustrations" )){
  58.      ZipEntry entry = new ZipEntry("Illustrations/"+file.getName());
  59.      entry.setTime(file.lastModified());
  60.      zip.putNextEntry(entry);
  61.      zip.write(bytes);
  62.      zip.closeEntry();
  63.     }
  64.     else if(file.getParent().contains("Notices" )){
  65.      ZipEntry entry = new ZipEntry("Notices/"+file.getName());
  66.      entry.setTime(file.lastModified());
  67.      zip.putNextEntry(entry);
  68.      zip.write(bytes);
  69.      zip.closeEntry();
  70.     }
  71.     else {
  72.      ZipEntry entry = new ZipEntry(file.getName());
  73.      entry.setTime(file.lastModified());
  74.      zip.putNextEntry(entry);
  75.      zip.write(bytes);
  76.      zip.closeEntry();
  77.     }
  78.     //ZipEntry entry = new ZipEntry(file.getName());
  79.   //  entry.setTime(file.lastModified());
  80.   //  zip.putNextEntry(entry);
  81.   //  zip.write(bytes);
  82.   //  zip.closeEntry();
  83.    }
  84.   }
  85.   catch (FileNotFoundException fileNotFound)
  86.   {}
  87.   catch (IOException io)
  88.   {}
  89.  }
  90. }


Message édité par Bubu017 le 17-04-2008 à 11:36:47

---------------
Un kébab sauce cocktail sans oignons avec double portions de frites

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Résolu]java.util.zip ne pas avoir le chemin des fichiers

 

Sujets relatifs
[RESOLU] [VB] Commenter un noeud xml en VBRESOLU PHP lecteur mp3 / lire mp3 a partir d'un dossier
insérer des lignes dans des fichiers[java] Un servlet pour générer une page html
[Résolu] Vérifier les session_id()[RESOLU]Excel : Numéro de ligne remplie
[Résolu]Filtre dans un FileDialogMise à jour BD[Résolu]
[Résolu] Récuperer login Windows Intranet 
Plus de sujets relatifs à : [Résolu]java.util.zip ne pas avoir le chemin des fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR