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