IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Extraction ZIP vers InputStream ?


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut Extraction ZIP vers InputStream ?
    Bonjour,

    Mon problème concerne la lecture d'un fichier ZIP qui ne contient que des fichiers textes. Pour l'instant, vu que je ne maitrise pas vraiment les "flux" et tout ça, j'extrait chaque fichier contenu dans le zip vers le disque dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    private NFichier extraireEntry(String nomFic, String where) throws IOException {
     if ( where == null )
      where = "";
     File fichier = new File(where + nomFic);
     BufferedOutputStream outFichier =new BufferedOutputStream(new FileOutputStream(fichier));
     byte octet[] = new byte[32];
     int offset = 0;
     int num;
     // Pour info : "input" correspond au ZipEntry (méthodes getNextEntry, etc...)
     while ((num = input.read(octet, offset, 32)) != -1) {
      outFichier.write(octet, offset, num);
     }
     outFichier.close();
     return fichier;
    }
    Ensuite, dans une autre classe, ce fichier est lu normalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    InputStreamReader reader = new InputStreamReader(new FileInputStream(this.leFichier),this.encoding);
    this.input = new BufferedReader(reader);
    Mais je voudrais éviter de passer par la création "physique" du fichier sur le disque dur. Je pense pouvoir utiliser d'autres classes du type "OutputStream" (et les passer en "InputStream" ?), mais mes connaissances sont un peu trop limitées, et je ne sais pas trop par où commencer

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Puisque tu as un ZipEntry, tu devrais avoir un un ZipFile quelque part, non ? si ce n'est pas le cas, crée-le (en lisant bien la javadoc).

    Pour avoir le flux du fichier inclus, utilise simplement la méthode ZipFile.getInputStream(ZipEntry);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Ha non, j'utilisais un ZipInputStream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Le "input" utilisé dans le code précédent
    ZipInputStream input = new ZipInputStream(new FileInputStream(fichier));
    Je viens donc de découvrir la classe ZipFile, qui au premier regard semble plus pratique et correspondre à mes attentes. Merci !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi d'un fichier .zip vers un serveur php
    Par Arnard dans le forum C++
    Réponses: 4
    Dernier message: 25/04/2008, 10h57
  2. Compression ZIP vers FTP
    Par boumbomagic dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 10/04/2008, 17h37
  3. extraction Access vers Excel
    Par zanou666 dans le forum VBA Access
    Réponses: 13
    Dernier message: 16/10/2007, 09h19
  4. extraction txt vers xls
    Par doudou1 dans le forum VBScript
    Réponses: 10
    Dernier message: 10/07/2006, 14h37
  5. Extraction base vers excel
    Par georgeabitbol dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/07/2004, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo