Class CountingInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
A typical use case would be during debugging, to ensure that data is being read as expected.
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
afterRead
(int n) Adds the number of read bytes to the count.long
Gets number of bytes that have passed through this stream.int
getCount()
Gets number of bytes that have passed through this stream.long
Resets the byte count back to 0.int
Resets 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
-
Constructor Details
-
CountingInputStream
Constructs a new CountingInputStream.- Parameters:
in
- the InputStream to delegate to
-
-
Method Details
-
afterRead
Adds the number of read bytes to the count.- Overrides:
afterRead
in classProxyInputStream
- Parameters:
n
- number of bytes read, or -1 if no more bytes are available- Since:
- 2.0
-
getByteCount
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
Gets 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
. SeegetByteCount()
for a method using along
.- Returns:
- the number of bytes accumulated
- Throws:
ArithmeticException
- if the byte count is too large
-
resetByteCount
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
Resets 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
. SeeresetByteCount()
for a method using along
.- Returns:
- the count previous to resetting
- Throws:
ArithmeticException
- if the byte count is too large
-
skip
Skips the stream over the specified number of bytes, adding the skipped amount to the count.- Overrides:
skip
in classProxyInputStream
- 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:
-