Package org.jboss.marshalling
Class LimitedByteInput
java.lang.Object
java.io.InputStream
org.jboss.marshalling.SimpleByteInput
org.jboss.marshalling.ByteInputStream
org.jboss.marshalling.LimitedByteInput
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ByteInput
A limited byte input stream. Throws an exception if too many bytes are read.
-
Field Summary
FieldsFields inherited from class org.jboss.marshalling.ByteInputStream
byteInput
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.jboss.marshalling.ByteInputStream
available, close, read
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo
-
Field Details
-
limit
private final long limit -
count
private long count
-
-
Constructor Details
-
LimitedByteInput
Create a new instance.- Parameters:
byteInput
- the byte input to read fromlimit
- the maximum number of bytes to read
-
-
Method Details
-
read
Reads the next byte of data from the input stream. 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.- Specified by:
read
in interfaceByteInput
- Overrides:
read
in classByteInputStream
- Returns:
- the next byte, or -1 if the end of stream has been reached
- Throws:
IOException
- if an error occurs
-
read
Read some bytes from the input stream into the given array. Returns the number of bytes actually read (possibly zero), or -1 if the end of stream has been reached.- Specified by:
read
in interfaceByteInput
- Overrides:
read
in classByteInputStream
- Parameters:
b
- the destination arrayoff
- the offset into the array into which data should be readlen
- the number of bytes to attempt to fill in the destination array- Returns:
- the number of bytes read (possibly zero), or -1 if the end of stream has been reached
- Throws:
IOException
- if an error occurs
-
skip
Skips over and discards up ton
bytes of data from this input stream. If the end of stream is reached, this method returns0
in order to be consistent withInputStream.skip(long)
.- Specified by:
skip
in interfaceByteInput
- Overrides:
skip
in classByteInputStream
- Parameters:
n
- the number of bytes to attempt to skip- Returns:
- the number of bytes skipped
- Throws:
IOException
- if an error occurs
-