Java FileWriter with append mode
Asked Answered
S

4

49

I'm currently using FileWriter to create and write to a file. Is there any way that I can write to the same file every time without deleting the contents in there?

   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();
Stephanystephen answered 3/8, 2009 at 23:45 Comment(0)
I
122

Pass true as a second argument to FileWriter to turn on "append" mode.

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

FileWriter usage reference

Initiatory answered 3/8, 2009 at 23:48 Comment(0)
L
9

From the Javadoc, you can use the constructor to specify whether you want to append or not.

public FileWriter(File file, boolean append) throws IOException

Constructs a FileWriter object given a File object. If the second argument is true, then bytes will be written to the end of the file rather than the beginning.

Lezlielg answered 3/8, 2009 at 23:48 Comment(0)
O
6

You can open the FileWriter in append mode by passing true as the second parameter:

fout = new FileWriter("Distribution_" + ... + ".txt", true);
Orlop answered 3/8, 2009 at 23:49 Comment(0)
H
3

You may pass true as second parameter to the constructor of FileWriter to instruct the writer to append the data instead of rewriting the file.

For example,

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

Hope this would solve your problem.

Hardan answered 3/8, 2009 at 23:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.