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.DataInputImplementsDataInputover 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 ByteArrayDataInputStreamadvance(int amount)Advances the current position without reading any bytes.byte[]buffer()java.nio.ByteBufferbyteBuffer()intcapacity()protected intcheckBounds(int pos)ByteArraygetBuffer()intlimit()intposition()ByteArrayDataInputStreamposition(int pos)intread()Reads the next byte of data from buf.intread(byte[] b, int off, int len)booleanreadBoolean()java.nio.ByteBufferreadBuffer(int len)Non-copying reading of len bytes from the input stream into aByteBuffer.bytereadByte()charreadChar()doublereadDouble()floatreadFloat()voidreadFully(byte[] b)voidreadFully(byte[] b, int off, int len)intreadInt()java.lang.StringreadLine()longreadLong()shortreadShort()intreadUnsignedByte()intreadUnsignedShort()java.lang.StringreadUTF()intskipBytes(int n)java.lang.StringtoString()
-
-
-
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 anintin the range0to255. If no byte is available because the end of the buffer has been reached, the value-1is returned.- Specified by:
readin classjava.io.InputStream- Returns:
- the next byte of data, or
-1if the end of the stream has been reached.
-
read
public int read(byte[] b, int off, int len)- Overrides:
readin classjava.io.InputStream
-
readFully
public void readFully(byte[] b) throws java.io.IOException- Specified by:
readFullyin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] b, int off, int len) throws java.io.IOException- Specified by:
readFullyin 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:
skipBytesin interfacejava.io.DataInput
-
readBoolean
public boolean readBoolean() throws java.io.IOException- Specified by:
readBooleanin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException- Specified by:
readBytein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException- Specified by:
readUnsignedBytein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException- Specified by:
readShortin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException- Specified by:
readUnsignedShortin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException- Specified by:
readCharin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readInt
public int readInt() throws java.io.IOException- Specified by:
readIntin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException- Specified by:
readLongin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException- Specified by:
readFloatin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException- Specified by:
readDoublein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readLine
public java.lang.String readLine() throws java.io.IOException- Specified by:
readLinein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOException- Specified by:
readUTFin interfacejava.io.DataInput- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
checkBounds
protected int checkBounds(int pos)
-
-