Lire les fichiers d'un dossier contenu dans un ZIP

Résolu
leviz Messages postés 68 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 10 juin 2008 - 5 juin 2007 à 08:56
leviz Messages postés 68 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 10 juin 2008 - 5 juin 2007 à 09:49
Bonjour!

Voilà mon problème : je dispose d'un zip dans lequel, il y a un fichier ainsi qu'un dossier à la racine. Le dossier contient trois autres fichiers.

Je parviens a lire mon fichier mais il ne reconnais pas mon dossier, il le reconnais comme étant un autre fichier. Pourtant j'ai mis un test afin de définir si l'entrée qui est lu est dans mon ZIP est un fichier ou un dossier.

J'aurais aimé pouvoir lire dans mon dossier et en extraire les fichiers.

Voici mon code:

try
          {
               BufferedOutputStream out = null;
               ZipInputStream  in = new ZipInputStream(
                                             new BufferedInputStream(
                                                  new FileInputStream("C:\\export\\eldiv2.4997.zip")));
               ZipEntry entry;
               while((entry = in.getNextEntry()) != null)
               {
                    //System.out.println("Extracting: " + entry);
                    int count;
                    byte data[] = new byte[BUFFER];

                    // write the files to the disk
                    out = new BufferedOutputStream(
                              new FileOutputStream("C:\\export\"+ entry.getName()),BUFFER);

                    while ((count = in.read(data,0,BUFFER)) != -1)
                    {
                        if(entry.isDirectory())
                        {
                            LogWriter.add("it is a directory","");
                        }
                        else
                        {
                            out.write(data,0,count);
                            LogWriter.add("it is a file","");
                        }
                    }
                     out.flush();
                     out.close();
               }
               in.close();

          }
          catch(Exception e)
          {
               e.printStackTrace();
          }

Es-ce que aurait une solution à mon problème?

1 réponse

leviz Messages postés 68 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 10 juin 2008
5 juin 2007 à 09:49
J'ai trouvé réponse à ma question sur code source.

Merci encore

Voici le lien pour ceux que cela intéresserait:

http://www.javafr.com/codes/UNZIP-DEZIPEUR_31103.aspx
3
Rejoignez-nous