Java/écrire sur un fichier texte

Résolu
Bonjour,

bonsoir!
je veux créer un fichier qui enregistre tous les clients d'une banque après ouverture d'un compte (nom, prénom, code,...) dans un même fichier .

try {
FileWriter fw = new FileWriter ( "listeclient.txt" ) ;
BufferedWriter bw = new BufferedWriter ( fw ) ;
bw.newLine();
PrintWriter pw = new PrintWriter ( bw ) ;
pw. print ( " nom: "+nom+" \nprenom: "+prenom ) ;
pw. close ( ) ;
}
catch ( IOException e ) {
System.out.println ( " Problème à l’écriture du fichier " ) ;
System.exit(0);
}

c' est ce que j ai mis mais à chaque ouverture , au lieu d'ajouter le nouveau client, il le remplace par l'ancien.
comment faire ?
Merci d' avance.

1 réponse

  1. Modérateur
    Tu dois ouvrir ton fichier non pas en écriture mais en mode append pour que Java écrive à la suite et non à la place.

    FileWriter fw = new FileWriter("xxx.txt", true); 


    Le "true" signifie que tu vas écrire à la suite (valeur par défaut false quand tu sous-entend cet argument dans le constructeur).
    http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html

    Si tu connais d'avance tous tes clients, tu es sensé écrire un code qui suit cette structure

    try{    
      // Ouvrir le fichier 
      // (en append si tu veux écrire à la suite du fichier s'il existe)  
      FileWriter fw = new FileWriter("xxx.txt", true); 
    
      // Pour chaque client écrire le client courant 
      ...  
      // Fermer le fichier 
      ... 
    }catch(IOException e){    
      // On écrit dans le flux d'erreur (et non dans la sortie standard)    
      // un message d'erreur 
      System.err.println("Erreur, écriture impossible\n"
        + e.printStackTrace());
    
      // Le programme s'est mal fini donc le code de retour du programme    
      // ne devrait pas être 0 qui signifie que tout s'est bien passé    
      exit(1);    
    } 


    Bonne chance
    1. merci! ça marche.
    2. Modérateur
      Parfait bonne continuation !
    3. Merci! a vous pareillement
    4. merciiiiiiii a vs
    5. Merci Beaucoup !!

Discussions similaires

question pix mot caché

7 réponses