public class CountingInputStream extends ProxyInputStream
A typical use case would be during debugging, to ensure that data is being read as expected.
Constructor and Description |
---|
CountingInputStream(java.io.InputStream in)
Constructs a new CountingInputStream.
|
Modifier and Type | Method and Description |
---|---|
long |
getByteCount()
The number of bytes that have passed through this stream.
|
int |
getCount()
The number of bytes that have passed through this stream.
|
int |
read()
Reads the next byte of data adding to the count of bytes received
if a byte is successfully read.
|
int |
read(byte[] b)
Reads a number of bytes into the byte array, keeping count of the
number read.
|
int |
read(byte[] b,
int off,
int len)
Reads a number of bytes into the byte array at a specific offset,
keeping count of the number read.
|
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.
|
java.lang.String |
toString() |
available, close, mark, markSupported, reset
public CountingInputStream(java.io.InputStream in)
in
- the InputStream to delegate topublic int read(byte[] b) throws java.io.IOException
read
in class ProxyInputStream
b
- the buffer into which the data is read, not nulljava.io.IOException
- if an I/O error occursInputStream.read(byte[])
public int read(byte[] b, int off, int len) throws java.io.IOException
read
in class ProxyInputStream
b
- the buffer into which the data is read, not nulloff
- the start offset in the bufferlen
- the maximum number of bytes to readjava.io.IOException
- if an I/O error occursInputStream.read(byte[], int, int)
public int read() throws java.io.IOException
read
in class ProxyInputStream
java.io.IOException
- if an I/O error occursInputStream.read()
public long skip(long length) throws java.io.IOException
skip
in class ProxyInputStream
length
- the number of bytes to skipjava.io.IOException
- if an I/O error occursInputStream.skip(long)
public int getCount()
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
.
java.lang.ArithmeticException
- if the byte count is too largepublic int resetCount()
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
.
java.lang.ArithmeticException
- if the byte count is too largepublic long getByteCount()
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.
public long resetByteCount()
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.
public java.lang.String toString()
toString
in class java.lang.Object
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"