Class CountingInputStream

All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
ChecksumInputStream, ThrottledInputStream

Deprecated.
Use BoundedInputStream (unbounded by default).
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.

  • Constructor Details

    • CountingInputStream

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

    • afterRead

      protected void afterRead(int n) throws IOException
      Deprecated.
      Adds the number of read bytes to the count.
      Overrides:
      afterRead in class ProxyInputStream
      Parameters:
      n - number of bytes read, or -1 if no more bytes are available
      Throws:
      IOException - Not thrown here but subclasses may throw.
      Since:
      2.0
    • getByteCount

      public long getByteCount()
      Deprecated.
      Gets 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:
      1.3
    • getCount

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

      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
    • resetByteCount

      public long resetByteCount()
      Deprecated.
      Resets 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:
      1.3
    • resetCount

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

      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
    • 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: