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
public class LimitedByteInput extends ByteInputStream
A limited byte input stream. Throws an exception if too many bytes are read.
-
-
Field Summary
-
Fields inherited from class org.jboss.marshalling.ByteInputStream
byteInput
-
-
Constructor Summary
Constructors Constructor Description LimitedByteInput(ByteInput byteInput, long limit)
Create a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
read()
Reads the next byte of data from the input stream.int
read(byte[] b, int off, int len)
Read some bytes from the input stream into the given array.long
skip(long n)
Skips over and discards up ton
bytes of data from this input stream.-
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, transferTo
-
-
-
-
Constructor Detail
-
LimitedByteInput
public LimitedByteInput(ByteInput byteInput, long limit)
Create a new instance.- Parameters:
byteInput
- the byte input to read fromlimit
- the maximum number of bytes to read
-
-
Method Detail
-
read
public int read() throws IOException
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
public int read(byte[] b, int off, int len) throws IOException
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
public long skip(long n) throws IOException
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
-
-