Java I/O: How to append to an already existing text file
-
02-10-2019 - |
Question
Hi I am having no problem writing to or appending to a file, the only problem is that as soon as I quit the program and then run it again, it creates a new file overwriting my original file. This is a problem, as I am using the text file to keep a running tally.
Is there a way to get an already created text file as an object and then append to it?
Thanks in advance.
Solution
There is a constructor for FileWriter which allows you to set appending with a boolean. javadoc
OTHER TIPS
Usually, better than FileWriter (already suggested) is to use FileOutputStream, which also (like FileWriter
) has an append
parameter in one of its constructors, and which (unlike FileWriter
), does not silently assume the default charset encoding (slightly bad practice IMO).
From the FileWriter doc:
Convenience class for writing character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable. To specify these values yourself, construct an OutputStreamWriter on a FileOutputStream.
Take a look at java.io.FileWriter. Setting append
to true should do the trick.