java.lang.Object
java.io.InputStream
org.jboss.marshalling.SimpleByteInput
org.jboss.marshalling.ByteInputStream
org.jboss.marshalling.SimpleDataInput
- All Implemented Interfaces:
Closeable,DataInput,AutoCloseable,ByteInput
- Direct Known Subclasses:
AbstractObjectInput
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final byte[]The internal buffer.protected intThe buffer limit.protected intThe buffer position.protected longTotal number of bytes read and skipped from the beginning.Fields inherited from class org.jboss.marshalling.ByteInputStream
byteInput -
Constructor Summary
ConstructorsConstructorDescriptionSimpleDataInput(int bufferSize) Construct a new instance which wraps nothing.SimpleDataInput(int bufferSize, ByteInput byteInput) Construct a new instance.SimpleDataInput(ByteInput byteInput) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionintReturns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream.voidclose()protected voidfinish()Finish reading from the current input.intread()Reads the next byte of data from the input stream.intread(byte[] b) Read some bytes from the input stream into the given array.intread(byte[] b, int off, int len) Read some bytes from the input stream into the given array.booleanbytereadByte()doublefloatvoidreadFully(byte[] b) voidreadFully(byte[] b, int off, int len) charreadChar()intreadInt()protected intRead an int value.readLine()longreadLong()protected longshortintprotected intRead an unsigned byte directly.intreadUTF()longskip(long n) Skips over and discards up tonbytes of data from this input stream.intskipBytes(int n) protected voidStart reading from the given input.Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skipNBytes, transferTo
-
Field Details
-
buffer
protected final byte[] bufferThe internal buffer. -
position
protected int positionThe buffer position. -
limit
protected int limitThe buffer limit. -
totalBytesRead
protected long totalBytesReadTotal number of bytes read and skipped from the beginning.
-
-
Constructor Details
-
SimpleDataInput
public SimpleDataInput(int bufferSize) Construct a new instance which wraps nothing.- Parameters:
bufferSize- the internal buffer size to use
-
SimpleDataInput
Construct a new instance.- Parameters:
bufferSize- the internal buffer size to usebyteInput- the byte input to initially wrap
-
SimpleDataInput
Construct a new instance. A default buffer size is used.- Parameters:
byteInput- the byte input to initially wrap
-
-
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:
readin interfaceByteInput- Overrides:
readin 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:
readin interfaceByteInput- Overrides:
readin classByteInputStream- Parameters:
b- 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
-
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:
readin interfaceByteInput- Overrides:
readin 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 tonbytes of data from this input stream. If the end of stream is reached, this method returns0in order to be consistent withInputStream.skip(long).- Specified by:
skipin interfaceByteInput- Overrides:
skipin classByteInputStream- Parameters:
n- the number of bytes to attempt to skip- Returns:
- the number of bytes skipped
- Throws:
IOException- if an error occurs
-
available
Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream.- Specified by:
availablein interfaceByteInput- Overrides:
availablein classByteInputStream- Returns:
- the number of bytes
- Throws:
IOException- if an error occurs
-
readFully
- Specified by:
readFullyin interfaceDataInput- Throws:
IOException
-
readFully
- Specified by:
readFullyin interfaceDataInput- Throws:
IOException
-
skipBytes
- Specified by:
skipBytesin interfaceDataInput- Throws:
IOException
-
readBoolean
- Specified by:
readBooleanin interfaceDataInput- Throws:
IOException
-
readByte
- Specified by:
readBytein interfaceDataInput- Throws:
IOException
-
readUnsignedByte
- Specified by:
readUnsignedBytein interfaceDataInput- Throws:
IOException
-
readShort
- Specified by:
readShortin interfaceDataInput- Throws:
IOException
-
readUnsignedShort
- Specified by:
readUnsignedShortin interfaceDataInput- Throws:
IOException
-
readUnsignedByteDirect
Read an unsigned byte directly.- Returns:
- the unsigned byte
- Throws:
IOException- if an error occurs
-
readChar
- Specified by:
readCharin interfaceDataInput- Throws:
IOException
-
readInt
- Specified by:
readIntin interfaceDataInput- Throws:
IOException
-
readLong
- Specified by:
readLongin interfaceDataInput- Throws:
IOException
-
readLongDirect
- Throws:
IOException
-
readFloat
- Specified by:
readFloatin interfaceDataInput- Throws:
IOException
-
readIntDirect
Read an int value.- Returns:
- the value
- Throws:
IOException- if an error occurs
-
readDouble
- Specified by:
readDoublein interfaceDataInput- Throws:
IOException
-
readLine
- Specified by:
readLinein interfaceDataInput- Throws:
IOException
-
readUTF
- Specified by:
readUTFin interfaceDataInput- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classByteInputStream- Throws:
IOException
-
start
Start reading from the given input. The internal buffer is discarded.- Parameters:
byteInput- the new input from which to read- Throws:
IOException- not thrown by this implementation, but may be overridden to be thrown if a problem occurs
-
finish
Finish reading from the current input. The internal buffer is discarded, not flushed.- Throws:
IOException- not thrown by this implementation, but may be overridden to be thrown if a problem occurs
-