Package org.jgroups.util
Class ByteArrayDataInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.jgroups.util.ByteArrayDataInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.lang.AutoCloseable
public class ByteArrayDataInputStream extends java.io.InputStream implements java.io.DataInput
ImplementsDataInput
over a byte[] buffer. This class is not thread safe.- Since:
- 3.5
- Author:
- Bela Ban
-
-
Constructor Summary
Constructors Constructor Description ByteArrayDataInputStream(byte[] buf)
ByteArrayDataInputStream(byte[] buf, int offset, int length)
ByteArrayDataInputStream(java.nio.ByteBuffer buffer)
ByteArrayDataInputStream(ByteArray buf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteArrayDataInputStream
advance(int amount)
Advances the current position without reading any bytes.byte[]
buffer()
java.nio.ByteBuffer
byteBuffer()
int
capacity()
protected int
checkBounds(int pos)
ByteArray
getBuffer()
int
limit()
int
position()
ByteArrayDataInputStream
position(int pos)
int
read()
Reads the next byte of data from buf.int
read(byte[] b, int off, int len)
boolean
readBoolean()
java.nio.ByteBuffer
readBuffer(int len)
Non-copying reading of len bytes from the input stream into aByteBuffer
.byte
readByte()
char
readChar()
double
readDouble()
float
readFloat()
void
readFully(byte[] b)
void
readFully(byte[] b, int off, int len)
int
readInt()
java.lang.String
readLine()
long
readLong()
short
readShort()
int
readUnsignedByte()
int
readUnsignedShort()
java.lang.String
readUTF()
int
skipBytes(int n)
java.lang.String
toString()
-
-
-
Constructor Detail
-
ByteArrayDataInputStream
public ByteArrayDataInputStream(byte[] buf)
-
ByteArrayDataInputStream
public ByteArrayDataInputStream(byte[] buf, int offset, int length)
-
ByteArrayDataInputStream
public ByteArrayDataInputStream(ByteArray buf)
-
ByteArrayDataInputStream
public ByteArrayDataInputStream(java.nio.ByteBuffer buffer)
-
-
Method Detail
-
position
public ByteArrayDataInputStream position(int pos)
-
buffer
public byte[] buffer()
-
getBuffer
public ByteArray getBuffer()
-
byteBuffer
public java.nio.ByteBuffer byteBuffer()
-
position
public int position()
-
limit
public int limit()
-
capacity
public int capacity()
-
advance
public ByteArrayDataInputStream advance(int amount)
Advances the current position without reading any bytes. This can be useful to skip bytes if necessary or if the byte[] is read externally from this InputStream.- Parameters:
amount
- the amount to move the position forward- Throws:
java.lang.IndexOutOfBoundsException
- if the amount to move and the current position is larger than the limit
-
read
public int read()
Reads the next byte of data from buf. The value byte is returned as anint
in the range0
to255
. If no byte is available because the end of the buffer has been reached, the value-1
is returned.- Specified by:
read
in classjava.io.InputStream
- Returns:
- the next byte of data, or
-1
if the end of the stream has been reached.
-
read
public int read(byte[] b, int off, int len)
- Overrides:
read
in classjava.io.InputStream
-
readFully
public void readFully(byte[] b) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] b, int off, int len) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readBuffer
public java.nio.ByteBuffer readBuffer(int len)
Non-copying reading of len bytes from the input stream into aByteBuffer
.
Reads len bytes from the input stream and wraps them in aByteBuffer
. Note that the buffer is pinned to a subrange of the underlying 'buf' byte[] array: make sure that the contents of 'buf' don't change until you're done with 'buf', or else you'll end up with unpredictable behavior.
-
skipBytes
public int skipBytes(int n)
- Specified by:
skipBytes
in interfacejava.io.DataInput
-
readBoolean
public boolean readBoolean() throws java.io.IOException
- Specified by:
readBoolean
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException
- Specified by:
readByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException
- Specified by:
readUnsignedByte
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException
- Specified by:
readShort
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException
- Specified by:
readUnsignedShort
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException
- Specified by:
readChar
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readInt
public int readInt() throws java.io.IOException
- Specified by:
readInt
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException
- Specified by:
readLong
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException
- Specified by:
readFloat
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException
- Specified by:
readDouble
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readLine
public java.lang.String readLine() throws java.io.IOException
- Specified by:
readLine
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOException
- Specified by:
readUTF
in interfacejava.io.DataInput
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
checkBounds
protected int checkBounds(int pos)
-
-