Class AtomicFileOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.hadoop.hdfs.util.AtomicFileOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class AtomicFileOutputStream extends FilterOutputStream
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 place.