Class CountingInputStream

All Implemented Interfaces:
Closeable, AutoCloseable

@Deprecated(since="2026-04-30") public class CountingInputStream extends ProxyInputStream
Deprecated.
This version of the Apache Tika library is deprecated. Use your own version of Apache Tika.
A decorating input stream that counts the number of bytes that have passed through the stream so far.

A typical use case would be during debugging, to ensure that data is being read as expected.

Since:
Apache Tika 0.4, copied from Commons IO 1.4
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated.
    Constructs a new CountingInputStream.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Deprecated.
    The number of bytes that have passed through this stream.
    int
    Deprecated.
    The number of bytes that have passed through this stream.
    int
    Deprecated.
    Reads the next byte of data adding to the count of bytes received if a byte is successfully read.
    int
    read(byte[] b)
    Deprecated.
    Reads a number of bytes into the byte array, keeping count of the number read.
    int
    read(byte[] b, int off, int len)
    Deprecated.
    Reads a number of bytes into the byte array at a specific offset, keeping count of the number read.
    long
    Deprecated.
    Set the byte count back to 0.
    int
    Deprecated.
    Set the byte count back to 0.
    long
    skip(long length)
    Deprecated.
    Skips the stream over the specified number of bytes, adding the skipped amount to the count.
    Deprecated.
     

    Methods inherited from class org.apache.tika.io.ProxyInputStream

    available, close, mark, markSupported, reset

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CountingInputStream

      public CountingInputStream(InputStream in)
      Deprecated.
      Constructs a new CountingInputStream.
      Parameters:
      in - the InputStream to delegate to
  • Method Details

    • read

      public int read(byte[] b) throws IOException
      Deprecated.
      Reads a number of bytes into the byte array, keeping count of the number read.
      Overrides:
      read in class ProxyInputStream
      Parameters:
      b - the buffer into which the data is read, not null
      Returns:
      the total number of bytes read into the buffer, -1 if end of stream
      Throws:
      IOException - if an I/O error occurs
      See Also:
    • read

      public int read(byte[] b, int off, int len) throws IOException
      Deprecated.
      Reads a number of bytes into the byte array at a specific offset, keeping count of the number read.
      Overrides:
      read in class ProxyInputStream
      Parameters:
      b - the buffer into which the data is read, not null
      off - the start offset in the buffer
      len - the maximum number of bytes to read
      Returns:
      the total number of bytes read into the buffer, -1 if end of stream
      Throws:
      IOException - if an I/O error occurs
      See Also:
    • read

      public int read() throws IOException
      Deprecated.
      Reads the next byte of data adding to the count of bytes received if a byte is successfully read.
      Overrides:
      read in class ProxyInputStream
      Returns:
      the byte read, -1 if end of stream
      Throws:
      IOException - if an I/O error occurs
      See Also:
    • skip

      public long skip(long length) throws IOException
      Deprecated.
      Skips the stream over the specified number of bytes, adding the skipped amount to the count.
      Overrides:
      skip in class ProxyInputStream
      Parameters:
      length - the number of bytes to skip
      Returns:
      the actual number of bytes skipped
      Throws:
      IOException - if an I/O error occurs
      See Also:
    • getCount

      public int getCount()
      Deprecated.
      The number of bytes that have passed through this stream.

      NOTE: From v1.3 this method throws an ArithmeticException if the count is greater than can be expressed by an int. See getByteCount() for a method using a long.

      Returns:
      the number of bytes accumulated
      Throws:
      ArithmeticException - if the byte count is too large
    • resetCount

      public int resetCount()
      Deprecated.
      Set the byte count back to 0.

      NOTE: From v1.3 this method throws an ArithmeticException if the count is greater than can be expressed by an int. See resetByteCount() for a method using a long.

      Returns:
      the count previous to resetting
      Throws:
      ArithmeticException - if the byte count is too large
    • getByteCount

      public long getByteCount()
      Deprecated.
      The number of bytes that have passed through this stream.

      NOTE: This method is an alternative for getCount() and was added because that method returns an integer which will result in incorrect count for files over 2GB.

      Returns:
      the number of bytes accumulated
      Since:
      Commons IO 1.3
    • resetByteCount

      public long resetByteCount()
      Deprecated.
      Set the byte count back to 0.

      NOTE: This method is an alternative for resetCount() and was added because that method returns an integer which will result in incorrect count for files over 2GB.

      Returns:
      the count previous to resetting
      Since:
      Commons IO 1.3
    • toString

      public String toString()
      Deprecated.
      Overrides:
      toString in class Object