? CountingInputStream

????????:
Closeable, AutoCloseable

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.

  • ???????

  • ??????

    • skip

      public long skip(long length) throws IOException
      Skips the stream over the specified number of bytes, adding the skipped amount to the count.
      ??:
      skip ??? ProxyInputStream
      ??:
      length - the number of bytes to skip
      ??:
      the actual number of bytes skipped
      ??:
      IOException - if an I/O error occurs.
      ????:
    • afterRead

      protected void afterRead(int n)
      Adds the number of read bytes to the count.
      ??:
      afterRead ??? ProxyInputStream
      ??:
      n - number of bytes read, or -1 if no more bytes are available
      ???????:
      2.0
    • getCount

      public int getCount()
      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.

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

      public int resetCount()
      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.

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

      public long getByteCount()
      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.

      ??:
      the number of bytes accumulated
      ???????:
      1.3
    • resetByteCount

      public long resetByteCount()
      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.

      ??:
      the count previous to resetting
      ???????:
      1.3