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 :
Ensuite, dans une autre classe, ce fichier est lu normalement :
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; }
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
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);![]()
Partager