Salut tous!
j'aimerais charger le contenu d'un fichier dans une textArea.
quelle fonction utilisée ?
et comment faire ?
Salut tous!
j'aimerais charger le contenu d'un fichier dans une textArea.
quelle fonction utilisée ?
et comment faire ?
1) tu lit le fichier (y a tout ce qu'il te faut dans les api java.io pour ça et dans les Reader)
2) tu met le contenu que tu viens de lire, via setText() dans le textArea.
voilà ce que j'ai fait
mais rien ne s'affiche dans le textArea
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { fis = new FileInputStream("chemin du fichier à lire"); int n; while ((n = fis.available())> 0) { byte[] b = new byte[n];s int result = fis.read(b) if (result == -1) break; String s = new String(b); textArea1.setText(s); } } catch (Exception err) {;} }}
Commence par utiliser un Reader et un BufferedReader plutot que le fileinputstream. Cela te permettra de lire ton fichier ligne par ligne et non pas byte par byte. Ensuite, ton code remplace à chaque boucle le contenu du textArea par les quelques bytes que tu viens de lire. Enfin, available peut être à 0 sans avoir lu tout le fichier. En effet, cela retourne combien de byte peuent être lu sans bloquer l'appel. Souvent cette valeur est à 0 pour signifier que la prochaine lecture attendra que le disque dur lise les données.
même avec ce code ça n'a pas marché
les lignes s'affichent juste sur le console d'eclipse mais pas dans la zone JtextArea
plz help!
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
16
17
18
19
20
21
22
23 FileReader flux= null; BufferedReader input= null; String str; try{ flux= new FileReader ("Emplacement du fichier"); input= new BufferedReader( flux); System.out.println("jmen sors comme un grand !"); while((str=input.readLine())!=null) { textArea1.setText(str); } }catch (IOException e) { System.out.println("Impossible d'ouvrir le fichier : " +e.toString()); } finally{ try { flux.close(); } catch (IOException ex) {;} }
Avec ce code, tu lis chaque ligne. Ensuite, tu met cette ligne dans le textarea1, en remplacement de la ligne précédente. autrement dit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 while((str=input.readLine())!=null) { textArea1.setText(str); } }catch (IOException e) { System.out.println("Impossible d'ouvrir le fichier : " +e.toString()); }
=> Ton textarea ne contiendra jamais qu'une seule ligne
=> Si la dernière ligne que tu lit est vide, ce qui est souvent le cas, ton textare sera vide.
Il faut que tu concatène toutes les lignes que tu lis, par exemple en utilisant un StringBuilder:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 StringBuilder builder = new StringBuilder(); while((str=input.readLine())!=null) { builder.append(str).append("\n"); } textArea1.setText(builder.toString());
Partager