I have a Java program that reads some text from a file, line by line, and writes new text to an output file. But not all the text I write to my BufferedWriter
a
You need to close your OutputStream
which will flush the remainder of your data:
out.close();
The default buffer size for BufferedWriter
is 8192 characters, large enough to easily hold hundreds of lines of unwritten data.
Always close your resources (not just files) when you're done with them.
finally {
out.close();//this would resolve the issue
}
There might be situations when you want to flush the buffer without closing the file. In these situations you can use the flush-method.
Your code does not appear to be closing the writer after you've finished writing to it. Add an out.close()
(preferably in a finally block) and it should work properly.