Zipp de fichiers avant upload

Zipp de fichiers avant upload - Java - Programmation

Marsh Posté le 15-10-2002 à 09:40:13    

Bonjour,  
apres avoir sélectionner des fichiers/répertoires à uploader, je comprime ces-dits fichiers. Jusque là, pas de problème.Si ce n'est que ...
J'espérais retrouvé dans mon fichier Zip l'arborescence originale ...
Est-ce possible ?
Bout de code :
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
             
            // Compress the files
            for (int i=0; i<files.length; i++) {
                FileInputStream in = new FileInputStream(files[i]);    
                // Add ZIP entry to output stream.
                out.putNextEntry(new ZipEntry(files[i].getName()));
                System.out.println(files[i].getName());
                // Transfer bytes from the file to the ZIP file
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                    contentLength += len ;
                }
                // Complete the entry
                out.closeEntry();
                in.close();
            }        
            // Complete the ZIP file
            out.close();
 
Merci pour vos réponses  :jap:

Reply

Marsh Posté le 15-10-2002 à 09:40:13   

Reply

Marsh Posté le 15-10-2002 à 09:45:28    

c'est forcément possible, mais je ne l'ai jamais fait donc je sais pas désolé ...

Reply

Marsh Posté le 15-10-2002 à 09:50:34    

oui c'est tout à fait possible. Deux secondes que je retrouve un lien vers un truc que j'ai fait qui fait ca :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 09:50:47    

benou a écrit a écrit :

c'est forcément possible, mais je ne l'ai jamais fait donc je sais pas désolé ...




 
Ca ne fait pas beaucoup avancer le Schmillblick tout ça !!!

Reply

Marsh Posté le 15-10-2002 à 09:53:56    

Code :
  1. /**
  2. * Adds the specified file in the archive in the specified path.
  3. * @param f
  4. * The file to add
  5. * @param archivePath
  6. * The path in the archive where to store this file
  7. */
  8. public void add(File f, String archivePath) {
  9.    m_logCat.info("Adding "+f+" in "+archivePath);
  10.    int b = 0;
  11.    File currentFilePath = new File(archivePath);
  12.    try {
  13.      out.putNextEntry(new ZipEntry(archivePath));
  14.      BufferedInputStream cacheIn = new BufferedInputStream(new FileInputStream(f));
  15.      while ((b = cacheIn.read()) != -1)
  16.         out.write(b);
  17.      cacheIn.close();
  18.      out.closeEntry();
  19.    }
  20.    catch (ZipException ze) {
  21.      String s = ze.getMessage();
  22.      if (s.indexOf("duplicate entry" ) == -1) {
  23. m_logCat.error("I/O error ", ze);
  24.       }
  25.    }
  26.    catch (FileNotFoundException fe) {
  27.      m_logCat.error("File not found ", fe);
  28.    }
  29.    catch (IOException e) {
  30.      m_logCat.error("I/O error " + e.getMessage());
  31.    }
  32. }


 
la méthode fait partie d'un objet plus complexe mais le truc c'est la string archivePath qui spécifie l'endroit dans ton archive zip ou tu veux fouttre le fichier ...


Message édité par darklord le 15-10-2002 à 09:54:45

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 09:54:11    

persepolis a écrit a écrit :

 
 
Ca ne fait pas beaucoup avancer le Schmillblick tout ça !!!




 
un peu de patience hein !!!


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 09:54:16    

persepolis a écrit a écrit :

Bonjour,  
apres avoir sélectionner des fichiers/répertoires à uploader, je comprime ces-dits fichiers. Jusque là, pas de problème.Si ce n'est que ...
J'espérais retrouvé dans mon fichier Zip l'arborescence originale ...
Est-ce possible ?
Bout de code :
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
             
            // Compress the files
            for (int i=0; i<files.length; i++) {
                FileInputStream in = new FileInputStream(files[i]);    
                // Add ZIP entry to output stream.
                out.putNextEntry(new ZipEntry(files[i].getName()));
                System.out.println(files[i].getName());
                // Transfer bytes from the file to the ZIP file
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                    contentLength += len ;
                }
                // Complete the entry
                out.closeEntry();
                in.close();
            }        
            // Complete the ZIP file
            out.close();
 
Merci pour vos réponses  :jap:  




 
Je verrais bien un truc du genre getAbsolutePath() a la place....


---------------
Eos 20d(kit) + 70-200 F4L + 50 F1.4 + 420 EX Powered®
Reply

Marsh Posté le 15-10-2002 à 09:55:26    

persepolis a écrit a écrit :

 
Ca ne fait pas beaucoup avancer le Schmillblick tout ça !!!




 
ben pourtant ca réponds a la question :

Citation :

Est-ce possible ?


Citation :

c'est forcément possible

Reply

Marsh Posté le 15-10-2002 à 09:56:58    

C'est la réponse typique d'un mec qui bosse en R&D :D


---------------
Eos 20d(kit) + 70-200 F4L + 50 F1.4 + 420 EX Powered®
Reply

Marsh Posté le 15-10-2002 à 09:57:23    

Meliok a écrit a écrit :

C'est la réponse typique d'un mec qui bosse en R&D :D




 
[:ddr555]  [:xp1700]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 09:57:23   

Reply

Marsh Posté le 15-10-2002 à 10:04:23    

DarkLord a écrit a écrit :

 
 
un peu de patience hein !!!




 
Merci au grand DarkLord ...  
Aujourd'hui est un grand jour.. J'ai réussi à poser une question compréhensible par tezigue et j'ai eu une réponse .
 
Je répondais à Benou dont la réponse m'a quelque peu laissé sur le derche...

Reply

Marsh Posté le 15-10-2002 à 10:07:09    

Meliok a écrit a écrit :

C'est la réponse typique d'un mec qui bosse en R&D :D




:D :lol:  mdr !!

Reply

Marsh Posté le 15-10-2002 à 10:08:53    

benou a écrit a écrit :

 
:D :lol:  mdr !!  




 
Faut que je m'entraine, je vois la DRH cette AM  :ange:


---------------
Eos 20d(kit) + 70-200 F4L + 50 F1.4 + 420 EX Powered®
Reply

Marsh Posté le 15-10-2002 à 10:09:11    

persepolis a écrit a écrit :

 
Je répondais à Benou dont la réponse m'a quelque peu laissé sur le derche...




 
comme le disais meliok, la question de base était est ce que c'est possible => réponse de base : oui
 
j'y peux rien si je sais pas comment faire... en plus je te fait un up gratuit et t'es même pas content  [:benou]

Reply

Marsh Posté le 15-10-2002 à 10:09:58    

Meliok a écrit a écrit :

 
 
Faut que je m'entraine, je vois la DRH cette AM  :ange:  




ouais, tu me raconteras !

Reply

Marsh Posté le 15-10-2002 à 10:26:56    

benou a écrit a écrit :

 
 
comme le disais meliok, la question de base était est ce que c'est possible => réponse de base : oui
 
j'y peux rien si je sais pas comment faire... en plus je te fait un up gratuit et t'es même pas content  [:benou]  




Mais si j'suis content...Un petit peu d'humour dans ce monde, ca peut pas faire de mal ... :hap:

Reply

Marsh Posté le 15-10-2002 à 10:43:49    

Meliok a écrit a écrit :

 
 
Je verrais bien un truc du genre getAbsolutePath() a la place....




Merci Meliok, je viens de modifier mon files[i].getName() par files[i].getAbsolutePath() et ca marche nickel.
Ca rejoint la méthode de DarkLord.
Je vous remercie tous les 2, sans oublier Benou qui a eu le mérite de faire rennaître l'ESPOIR.
A+ :sol:

Reply

Marsh Posté le 15-10-2002 à 11:16:06    

et puis en plus il se fout de ma gueule  :cry:

Reply

Marsh Posté le 15-10-2002 à 11:26:44    

benou a écrit a écrit :

et puis en plus il se fout de ma gueule  :cry:  




 
[:ddr555]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 11:28:14    

benou a écrit a écrit :

et puis en plus il se fout de ma gueule  :cry:  




J'plaisante,
tu sais, à mon avis, le R&D ca abîme aussi...
A+

Reply

Marsh Posté le 15-10-2002 à 11:28:51    

re [:ddr555]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 15-10-2002 à 11:31:33    

persepolis a écrit a écrit :

 
J'plaisante,
tu sais, à mon avis, le R&D ca abîme aussi...
A+




ERRATUM :  
Il fallait lire ....
le R&D m'esquinte aussi....
A force de trouver on ne sait plus ce que l'on cherche ... A méditer

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed