web-dev-qa-db-fra.com

Java FileWriter avec mode d'ajout

J'utilise actuellement FileWriter pour créer et écrire dans un fichier. Existe-t-il un moyen d'écrire dans le même fichier à chaque fois sans supprimer le contenu?

   fout = new FileWriter(
    "Distribution_" + Double.toString(_lowerBound) + "_" + Double.toString(_highBound) + ".txt");
    fileout = new PrintWriter(fout,true);
fileout.print(now.getTime().toString() + ", " + weight + ","+ count +"\n");
    fileout.close();
37

Passez true comme deuxième argument à FileWriter pour activer le mode "ajout".

fout = new FileWriter("filename.txt", true);

référence d'utilisation FileWriter

92
Amber

A partir de Javadoc , vous pouvez utiliser le constructeur pour spécifier si vous souhaitez ajouter ou non.

fileWriter public (fichier, ajout booléen) lève une exception IOException

Construit un objet FileWriter à partir d'un objet File. Si le deuxième argument est vrai, les octets seront écrits à la fin du fichier plutôt qu'au début.

8
Peter

Vous pouvez ouvrir FileWriter en mode ajout en passant true comme deuxième paramètre:

fout = new FileWriter("Distribution_" + ... + ".txt", true);
6
Matthew Crumley

Vous pouvez passer true en tant que deuxième paramètre au constructeur de FileWriter pour demander au rédacteur d'ajouter les données au lieu de réécrire le fichier.

Par exemple,

fout = new FileWriter ("Distribution_" + Double.toString ( lowerBound) + "" + Double.toString (_highBound) + ".txt", - vrai);

J'espère que cela résoudra votre problème.

3
jatanp