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?
+4
A:
By default, I believe it overwrites. Are you by any chance calling
new FileOutputStream(name, true)
? If so, just change true
to false
.
Jon Skeet
2010-08-19 17:09:56
+6
A:
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);
BalusC
2010-08-19 17:10:07
+3
A:
FileOutputStream fos = new FileOutputStream("myfile");
would create a new file.
Darin Dimitrov
2010-08-19 17:10:11
+1
A:
It looks like the FileOutputStream constructor accepts a second parameter. It is a boolean where false will cause file overwrite.
Aaron Hathaway
2010-08-19 17:12:03