Flush the stream. If the stream has saved any characters from the various
write() methods in a buffer, write them immediately to their intended
destination. Then, if that destination is another character or byte
stream, flush it. Thus one flush() invocation will flush all the buffers
in a chain of Writers and OutputStreams.
If the intended destination of this stream is an abstraction provided by
the underlying operating system, for example a file, then flushing the
stream guarantees only that bytes previously written to the stream are
passed to the operating system for writing; it does not guarantee that they
are actually written to a physical device such as a disk drive.