de.intarsys.tools.stream
Class TempFileOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by de.intarsys.tools.stream.TempFileOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class TempFileOutputStream
extends java.io.OutputStream

A stream wrapper that deferrs writing to the final destination until the stream is closed. The output is written to a temporary file in the destinations directory. When the stream is closed, the temp file is copied to the destination and deleted.


Constructor Summary
TempFileOutputStream(java.io.File destination)
           
TempFileOutputStream(java.io.File destination, java.lang.String prefix, java.lang.String suffix)
           
 
Method Summary
 void close()
           
 void flush()
           
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TempFileOutputStream

public TempFileOutputStream(java.io.File destination)
                     throws java.io.IOException
Throws:
java.io.IOException

TempFileOutputStream

public TempFileOutputStream(java.io.File destination,
                            java.lang.String prefix,
                            java.lang.String suffix)
                     throws java.io.IOException
Throws:
java.io.IOException
Method Detail

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.OutputStream
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.OutputStream
Throws:
java.io.IOException

write

public void write(byte[] b)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream
Throws:
java.io.IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream
Throws:
java.io.IOException

write

public void write(int b)
           throws java.io.IOException
Specified by:
write in class java.io.OutputStream
Throws:
java.io.IOException