public class SafeFileOutputStream
extends java.io.OutputStream
A FileOutputStream that implements a two-stage write process, and additionaly copies any existing file to a backup location. This ensures that no matter what (software or hardware failures), there is always a valid (non-corrupt) copy of the destination file. More formally, the logic is as follows.
Constructor and Description |
---|
SafeFileOutputStream(java.io.File destinationFile,
java.io.File backupFile) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
flush() |
void |
write(byte[] b) |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
public SafeFileOutputStream(java.io.File destinationFile, java.io.File backupFile) throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException