Médiaforma

Java – Exercice – Un Bloc-Notes maison

Print Friendly

Vous avez maintenant tous les éléments nécessaires pour lire et écrire dans un fichier texte.

Je vous propose de créer un petit éditeur de texte qui lit le contenu du fichier c:\data\fichier.txt, l’affiche dans un contrôle jTextArea, permet à l’utilisateur de le modifier et de le sauvegarder. Voici à quoi pourrait ressembler ce projet :

Voici le code associé au premier bouton :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    jTextArea1.setText("");  // Effacement du jTextArea
    String filePath = "c:/data/fichier.txt";
    try{
        BufferedReader buff = new BufferedReader(new FileReader(filePath));
        try {
            String ligne;
            while ((ligne = buff.readLine()) != null) {  // Lecture d’une ligne dans le fichier
                jTextArea1.append(ligne+"\n");  // Affichage dans le jTextArea
            }
        } finally {
            buff.close(); // Fermeture du fichier
        }
    } catch (IOException e) {
        System.out.println("Erreur --" + e.toString()); // Message d'erreur
    }
}

 

 

Voici le code associé au second bouton :

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    String cheminFichier = "c:/data/fichier.txt";
    File = new File(cheminFichier);
    file.delete(); // Suppression du fichier

    try {
       BufferedWriter fichier = new BufferedWriter(new FileWriter(filePath));
       String lignes = jTextArea1.getText(); //Lecture du jTextArea
       fichier.write(lignes); //Mise dans le buffer
       fichier.flush(); // Ecriture dans le fichier
       fichier.close();
    }
    catch(IOException e){
      System.out.println("Erreur --" + e.toString()); // Message d'erreur
    }
}

Pour que ce code fonctionne, vous devez définir quelques import :

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply