tags:

views:

61

answers:

4

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
+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
+3  A: 
FileOutputStream fos = new  FileOutputStream("myfile");

would create a new file.

Darin Dimitrov
+1  A: 

It looks like the FileOutputStream constructor accepts a second parameter. It is a boolean where false will cause file overwrite.

Aaron Hathaway