org.apache.commons.vfs2.util
Class MonitorOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.BufferedOutputStream
              extended by org.apache.commons.vfs2.util.MonitorOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class MonitorOutputStream
extends java.io.BufferedOutputStream

An OutputStream that provides buffering and end-of-stream monitoring.

Author:
Commons VFS team

Field Summary
 
Fields inherited from class java.io.BufferedOutputStream
buf, count
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
MonitorOutputStream(java.io.OutputStream out)
           
 
Method Summary
protected  void assertOpen()
          check if file is still open.
 void close()
          Closes this output stream.
 void flush()
           
protected  void onClose()
          Called after this stream is closed.
 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

MonitorOutputStream

public MonitorOutputStream(java.io.OutputStream out)
Method Detail

close

public void close()
           throws java.io.IOException
Closes this output stream.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException - if an error occurs.

write

public void write(int b)
           throws java.io.IOException
Overrides:
write in class java.io.BufferedOutputStream
Parameters:
b - The character to write.
Throws:
java.io.IOException - if an error occurs.
Since:
2.0

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.BufferedOutputStream
Parameters:
b - The byte array.
off - The offset into the array.
len - The number of bytes to write.
Throws:
java.io.IOException - if an error occurs.
Since:
2.0

flush

public void flush()
           throws java.io.IOException
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.BufferedOutputStream
Throws:
java.io.IOException - if an error occurs.
Since:
2.0

write

public void write(byte[] b)
           throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Parameters:
b - The byte array.
Throws:
java.io.IOException - if an error occurs.
Since:
2.0

assertOpen

protected void assertOpen()
                   throws FileSystemException
check if file is still open.
This is a workaround for an oddity with Java's BufferedOutputStream where you can write to even if the stream has been closed

Throws:
FileSystemException - if an error occurs.
Since:
2.0

onClose

protected void onClose()
                throws java.io.IOException
Called after this stream is closed. This implementation does nothing.

Throws:
java.io.IOException - if an error occurs.