Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.io.input
Class CountingInputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              org.apache.commons.io.input.ProxyInputStream
                  org.apache.commons.io.input.CountingInputStream

All Implemented Interfaces:
  Closeable

    public class CountingInputStream

extends ProxyInputStream

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.

Version:
  $Id: CountingInputStream.java 1304052 2012-03-22 20:55:29Z ggregory $

Field Summary

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`CountingInputStream(InputStream in)` Constructs a new CountingInputStream.

Method Summary
`protected void` | `afterRead(int n)` Adds the number of read bytes to the count.
`long` | `getByteCount()` The number of bytes that have passed through this stream.
`int` | `getCount()` The number of bytes that have passed through this stream.
`long` | `resetByteCount()` Set the byte count back to 0.
`int` | `resetCount()` Set the byte count back to 0.
`long` | `skip(long length)` Skips the stream over the specified number of bytes, adding the skipped amount to the count.

Methods inherited from class org.apache.commons.io.input.ProxyInputStream
`available, beforeRead, close, handleIOException, mark, markSupported, read, read, read, reset`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CountingInputStream

    public CountingInputStream(InputStream in)

  Constructs a new CountingInputStream.

  Parameters:
    `in` - the InputStream to delegate to

Method Detail

### skip

    public long skip(long length)
              throws IOException

  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:
    `InputStream.skip(long)`

### afterRead

    protected void afterRead(int n)

  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
  Since:
    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`.

  Returns:
    the number of bytes accumulated
  Throws:
    `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`.

  Returns:
    the count previous to resetting
  Throws:
    `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.

  Returns:
    the number of bytes accumulated
  Since:
    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.

  Returns:
    the count previous to resetting
  Since:
    1.3

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.