Reputation: 10584
I am using FileOutputStream for writing some data to a file. Every time I execute my program, it appends the data to existing file instead of creating new one. I want to create a new file every time I execute the program. How do I do that?
Upvotes: 2
Views: 2052
Reputation: 4315
It looks like the FileOutputStream constructor accepts a second parameter. It is a boolean where false will cause file overwrite.
Upvotes: 1
Reputation: 1038810
FileOutputStream fos = new FileOutputStream("myfile");
would create a new file.
Upvotes: 3
Reputation: 1108722
It doesn't append by default. It will only append when you use the constructor of FileOutputStream
taking a boolean argument wherein you pass true
. Just remove it.
In a nut, don't do
output = new FileOutputStream(file, true);
but rather do
output = new FileOutputStream(file);
Upvotes: 7
Reputation: 1500535
By default, I believe it overwrites. Are you by any chance calling
new FileOutputStream(name, true)
? If so, just change true
to false
.
Upvotes: 4