A FileOutputStream that has the property that it will only show up at its
destination once it has been entirely written and flushed to disk. While
being written, it will use a .tmp suffix.
When the output stream is closed, it is flushed, fsynced, and will be moved
into place, overwriting any file that already exists at that location.
NOTE: on Windows platforms, it will not atomically replace the target
file - instead the target file is deleted before this one is moved into
public void write(byte b,
The default write method in FilterOutputStream does not call the write
method of its underlying input stream with the same arguments. Instead
it writes the data byte by byte, override it here to make it more