uk.ac.starlink.util
Class CountInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by uk.ac.starlink.util.CountInputStream
All Implemented Interfaces:
java.io.Closeable

public class CountInputStream
extends java.io.FilterInputStream

Filter input stream that counts the number of bytes read.

Since:
9 May 2014

Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
CountInputStream(java.io.InputStream in)
          Constructor.
 
Method Summary
 long getReadCount()
          Returns the number of bytes successfully read so far from this stream.
 long getSkipCount()
          Returns the number of bytes skipped from this stream.
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 long skip(long n)
           
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CountInputStream

public CountInputStream(java.io.InputStream in)
Constructor.

Parameters:
in - base input stream
Method Detail

read

public int read()
         throws java.io.IOException
Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

public int read(byte[] b)
         throws java.io.IOException
Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

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

skip

public long skip(long n)
          throws java.io.IOException
Overrides:
skip in class java.io.FilterInputStream
Throws:
java.io.IOException

getReadCount

public long getReadCount()
Returns the number of bytes successfully read so far from this stream.

Returns:
number of bytes read

getSkipCount

public long getSkipCount()
Returns the number of bytes skipped from this stream.

Returns:
number of bytes skipped