flush : Java Glossary

flush
a method common in I/O classes that effectively does all the normal file or stream close processing, but leaves the file open, or, if you prefer, conceptually closes then instantly reopens the file/stream. flush makes sure everything you have written so far is committed to the hard disk, and the expanded file length is also committed to the disk directory, with the updated lastModified timestamp committed too.

If you crash the system later, you know at least that much is guaranteed to be there on disk waiting for you when you reboot.

When you flush a socket, it pushes every last byte you have written so far out the wire, even if it means sending a tiny packet.

When you flush a console, flush guarantees every byte you have written so far is displayed on screen.

Many constructors have an autofush boolean so that, when true, flushes automatically after every write.

flush is analogous to flushing a toilet. It clears the bowl/buffer of accumulated waste/bytes.

You don’t need to flush just prior to close, because close handles the flushing.

Learning More

Oracle’s Javadoc on OutputStream.flush : available:
File I/O amanuensis: generates skeleton code using flush
Files & directories
socket

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/flush.html J:\mindprod\jgloss\flush.html
logofeedback Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email If you want your message kept confidential, not considered for posting, please explicitly specify that.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.212]
You are visitor number 27,262.