// MODULE: TextTest.java // AUTEUR: IFT1170 // OBJET: montrer TextArea, ainsi que les operations classiques sur les fichiers // selection d'un fichier avec FileDialog // lecture d'un fichier texte // ecriture d'un fichier texte import java.io.*; // pour les fichiers import java.awt.*; import java.awt.event.*; public class TextTest extends FenetreFermante implements ActionListener { private TextArea texte; private Button load,save; private String nomFichier; // le constructeur public TextTest(int l,int h, String titre) { super(l,h); setTitle(titre); setLayout(new BorderLayout()); load = new Button("Ouvre"); save = new Button("Sauver"); load.addActionListener(this); save.addActionListener(this); save.enable(false); Panel p = new Panel(); p.add(load); p.add(save); texte = new TextArea (10,40); add(p,BorderLayout.NORTH); add(texte,BorderLayout.SOUTH); show(); } // illustration de la lecture et de l'ecriture d'un fichier texte public void actionPerformed (ActionEvent evt) { if (evt.getSource() == load) { // LECTURE FileDialog boiteFichier = new FileDialog(this, "Ouverture de : ",FileDialog.LOAD); boiteFichier.show(); nomFichier = boiteFichier.getFile(); if (nomFichier != null) { // lecture du fichier try { BufferedReader in = new BufferedReader (new FileReader(nomFichier)); String ligne; texte.setText(""); // remise a zero du texte while ((ligne = in.readLine()) != null) texte.append(ligne+"\n"); in.close(); } catch (IOException e) { System.err.println("Erreur de lecture avec le fichier " + nomFichier); } } save.enable(true); } else if (evt.getSource() == save) { // ECRITURE System.out.println("Sauvegarde de " + nomFichier); try { PrintWriter out = new PrintWriter (new FileWriter(nomFichier,true)); out.print(texte.getText()); out.close(); } catch (IOException e) { System.err.println("Erreur d'ecriture avec le fichier " + nomFichier); } } } public static void main(String [] args) { new TextTest(330,230,"Text widget"); } }