![]() |
Question 12 |
Comment lire un fichier et l'afficher sur l'écran et écrire sur un fichier?
Comment faire pour passer le contenu du texte en vecteur?
Pour lire un fichier texte, il faut commencer par obtenir un InputStream associé à ce fichier. Cela dépend du contexte dans lequel on travaille.
Avec une applet, on passe par une URL et on utilise la méthode openStream. Cela donne :
URL url; InputStream ips; try { url=new URL(getCodeBase(),nomfichier); ips=url.openStream(); } catch (Exception e) {}
Avec une application, on utilise un fichier local associé à un FileInputStream. Cela donne :
FileInputStream ips; try { ips=new FileInputStream(nomfichier); } catch (Exception e) {}
Ensuite tout se passe de la même façon : créer un BufferedReader et utiliser la méthode readLine. Cela donne le code suivant à insérer après l'affectation de ips :
BufferedReader br=new BufferedReader(new InputStreamReader(ips)); String S; while ((S=br.readLine())!=null) { System.out.println(S); //pour afficher à l'écran v.addElement(S); //pour ajouter au Vector v créé auparavant } br.close();
L'écriture d'un fichier n'est pas possible à partir d'une applet. Dans le cas d'une application, pour écrire dans un fichier les chaînes contenues dans le Vector v, on peut utiliser un PrintWriter, cela donne :
try { FileOutputStream ops=new FileOutputStream(nomfichier); PrintWriter pw=new PrintWriter(ops); for (int i=0; i<v.size(); i++) { pw.println((String)v.elementAt(i)); } pw.flush(); pw.close(); } catch (Exception e) {}