2009-08-03 10 views
26

J'utilise actuellement FileWriter pour créer et écrire dans un fichier. Est-il possible que je puisse écrire dans le même fichier à chaque fois sans y supprimer le contenu?Java FileWriter avec le mode ajout

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(); 

Répondre

78

passe true comme second argument FileWriter pour activer le mode "append".

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

FileWriter usage reference

+0

java doc a été déplacé –

+0

Fonctionne toujours en 2015 –

7

De l'Javadoc, vous pouvez utiliser le constructeur pour spécifier si vous voulez ajouter ou non.

FileWriter public (fichier fichier, append booléenne) throws IOException

construit un objet FileWriter donné un objet de fichier. Si le second argument est true, les octets seront écrits à la fin du fichier plutôt que au début.

+0

javadoc a déménagé –

5

Vous pouvez ouvrir le FileWriter en mode append en passant true comme second paramètre:

fout = new FileWriter("Distribution_" + ... + ".txt", true); 
3

Vous pouvez passer vrai second paramètre au constructeur de FileWriter pour instruire l'écrivain d'ajouter les données au lieu de réécrire le fichier.

Par exemple,

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

Espérons que cela résoudrait votre problème.

Questions connexes