org.apache.hadoop.hdfs.util
Class AtomicFileOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.hadoop.hdfs.util.AtomicFileOutputStream
- All Implemented Interfaces:
- Closeable, Flushable
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.
Method Summary |
void |
abort()
Close the atomic file, but do not "commit" the temporary file
on top of the destination. |
void |
close()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AtomicFileOutputStream
public AtomicFileOutputStream(File f)
throws FileNotFoundException
- Throws:
FileNotFoundException
close
public void close()
throws IOException
- Specified by:
close
in interface Closeable
- Overrides:
close
in class FilterOutputStream
- Throws:
IOException
abort
public void abort()
- Close the atomic file, but do not "commit" the temporary file
on top of the destination. This should be used if there is a failure
in writing.
Copyright © 2014 Apache Software Foundation. All Rights Reserved.