Package com.adobe.internal.io
Class CountingInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
com.adobe.internal.io.CountingInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
RangedInputStream
A
FilterInputStream
wrapper that counts the number of bytes read from the stream or skipped over
since the creation of this wrapper.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlong
Get the offset in the wrapped stream since the creation of this wrapper.int
read()
Reads the next byte of data from this input stream.int
read
(byte[] b) Reads up to byte.length bytes of data from this input stream into an array of bytes.int
read
(byte[] b, int off, int len) Reads up to len bytes of data from this input stream into an array of bytes.long
skip
(long n) Skips over and discards n bytes of data from the input stream.Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, reset
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
CountingInputStream
- Parameters:
is
-
-
-
Method Details
-
read
Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.- Overrides:
read
in classFilterInputStream
- Returns:
- the next byte of data or
-1
if the end of stream is reached - Throws:
IOException
- if an I/O error occurs
-
read
Reads up to len bytes of data from this input stream into an array of bytes. This method blocks until some input is available.- Overrides:
read
in classFilterInputStream
- Parameters:
b
- the buffer into which the data is readoff
- the start offset in the buffer to write the datalen
- the maximum number of bytes to read- Returns:
- the total number of bytes read into the buffer, or
-1
if there is no more data because the end of the stream has been reached. - Throws:
IOException
- if an I/O error occurs
-
read
Reads up to byte.length bytes of data from this input stream into an array of bytes. This method blocks until some input is available.- Overrides:
read
in classFilterInputStream
- Returns:
- the total number of bytes read into the buffer, or
-1
if there is no more data because the end of the stream has been reached. - Throws:
IOException
- if an I/O error occurs
-
skip
Skips over and discards n bytes of data from the input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. The actual number of bytes skipped is returned.- Overrides:
skip
in classFilterInputStream
- Parameters:
n
- the number of bytes to be skipped- Returns:
- the actual number of bytes skipped
- Throws:
IOException
- if an I/O error occurs
-
getOffset
public long getOffset()Get the offset in the wrapped stream since the creation of this wrapper.- Returns:
- the offset in bytes
-