Java/écrire sur un fichier texte
Résolu
mcyou
-
samiros -
samiros -
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.
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
-
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