org.openstreetmap.osmosis.core.store
Class OffsetTrackingOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.openstreetmap.osmosis.core.store.OffsetTrackingOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class OffsetTrackingOutputStream
extends java.io.OutputStream

Tracks the number of bytes written so far to the stream.

Author:
Brett Henderson

Constructor Summary
OffsetTrackingOutputStream(java.io.OutputStream out)
          Creates a new instance.
 
Method Summary
 void close()
          
 void flush()
          
 long getByteCount()
          Returns the number of bytes written to this stream so far.
 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

OffsetTrackingOutputStream

public OffsetTrackingOutputStream(java.io.OutputStream out)
Creates a new instance.

Parameters:
out - The destination stream for all written data.
Method Detail

getByteCount

public long getByteCount()
Returns the number of bytes written to this stream so far.

Returns:
The current byte count.

write

public void write(int b)
           throws java.io.IOException

Specified by:
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(byte[] b)
           throws java.io.IOException

Overrides:
write 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

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