public class ByteBufInputStream
extends java.io.InputStream
implements java.io.DataInput
InputStream
which reads data from a ByteBuf
.
A read operation against this stream will occur at the readerIndex
of its underlying buffer and the readerIndex
will increase during
the read operation. Please note that it only reads up to the number of
readable bytes determined at the moment of construction. Therefore,
updating ByteBuf.writerIndex()
will not affect the return
value of available()
.
This stream implements DataInput
for your convenience.
The endianness of the stream is not always big endian but depends on
the endianness of the underlying buffer.
ByteBufOutputStream
构造器和说明 |
---|
ByteBufInputStream(ByteBuf buffer)
Creates a new stream which reads data from the specified
buffer
starting at the current readerIndex and ending at the current
writerIndex . |
ByteBufInputStream(ByteBuf buffer,
boolean releaseOnClose)
Creates a new stream which reads data from the specified
buffer
starting at the current readerIndex and ending at the current
writerIndex . |
ByteBufInputStream(ByteBuf buffer,
int length)
Creates a new stream which reads data from the specified
buffer
starting at the current readerIndex and ending at
readerIndex + length . |
ByteBufInputStream(ByteBuf buffer,
int length,
boolean releaseOnClose)
Creates a new stream which reads data from the specified
buffer
starting at the current readerIndex and ending at
readerIndex + length . |
限定符和类型 | 方法和说明 |
---|---|
int |
available() |
void |
close() |
void |
mark(int readlimit) |
boolean |
markSupported() |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
boolean |
readBoolean() |
byte |
readByte() |
int |
readBytes()
Returns the number of read bytes by this stream so far.
|
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() |
void |
reset() |
long |
skip(long n) |
int |
skipBytes(int n) |
public ByteBufInputStream(ByteBuf buffer)
buffer
starting at the current readerIndex
and ending at the current
writerIndex
.buffer
- The buffer which provides the content for this InputStream
.public ByteBufInputStream(ByteBuf buffer, int length)
buffer
starting at the current readerIndex
and ending at
readerIndex + length
.buffer
- The buffer which provides the content for this InputStream
.length
- The length of the buffer to use for this InputStream
.java.lang.IndexOutOfBoundsException
- if readerIndex + length
is greater than
writerIndex
public ByteBufInputStream(ByteBuf buffer, boolean releaseOnClose)
buffer
starting at the current readerIndex
and ending at the current
writerIndex
.buffer
- The buffer which provides the content for this InputStream
.releaseOnClose
- true
means that when close()
is called then ReferenceCounted.release()
will
be called on buffer
.public ByteBufInputStream(ByteBuf buffer, int length, boolean releaseOnClose)
buffer
starting at the current readerIndex
and ending at
readerIndex + length
.buffer
- The buffer which provides the content for this InputStream
.length
- The length of the buffer to use for this InputStream
.releaseOnClose
- true
means that when close()
is called then ReferenceCounted.release()
will
be called on buffer
.java.lang.IndexOutOfBoundsException
- if readerIndex + length
is greater than
writerIndex
public int readBytes()
public void close() throws java.io.IOException
close
在接口中 java.io.Closeable
close
在接口中 java.lang.AutoCloseable
close
在类中 java.io.InputStream
java.io.IOException
public int available() throws java.io.IOException
available
在类中 java.io.InputStream
java.io.IOException
public void mark(int readlimit)
mark
在类中 java.io.InputStream
public boolean markSupported()
markSupported
在类中 java.io.InputStream
public int read() throws java.io.IOException
read
在类中 java.io.InputStream
java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
read
在类中 java.io.InputStream
java.io.IOException
public void reset() throws java.io.IOException
reset
在类中 java.io.InputStream
java.io.IOException
public long skip(long n) throws java.io.IOException
skip
在类中 java.io.InputStream
java.io.IOException
public boolean readBoolean() throws java.io.IOException
readBoolean
在接口中 java.io.DataInput
java.io.IOException
public byte readByte() throws java.io.IOException
readByte
在接口中 java.io.DataInput
java.io.IOException
public char readChar() throws java.io.IOException
readChar
在接口中 java.io.DataInput
java.io.IOException
public double readDouble() throws java.io.IOException
readDouble
在接口中 java.io.DataInput
java.io.IOException
public float readFloat() throws java.io.IOException
readFloat
在接口中 java.io.DataInput
java.io.IOException
public void readFully(byte[] b) throws java.io.IOException
readFully
在接口中 java.io.DataInput
java.io.IOException
public void readFully(byte[] b, int off, int len) throws java.io.IOException
readFully
在接口中 java.io.DataInput
java.io.IOException
public int readInt() throws java.io.IOException
readInt
在接口中 java.io.DataInput
java.io.IOException
public java.lang.String readLine() throws java.io.IOException
readLine
在接口中 java.io.DataInput
java.io.IOException
public long readLong() throws java.io.IOException
readLong
在接口中 java.io.DataInput
java.io.IOException
public short readShort() throws java.io.IOException
readShort
在接口中 java.io.DataInput
java.io.IOException
public java.lang.String readUTF() throws java.io.IOException
readUTF
在接口中 java.io.DataInput
java.io.IOException
public int readUnsignedByte() throws java.io.IOException
readUnsignedByte
在接口中 java.io.DataInput
java.io.IOException
public int readUnsignedShort() throws java.io.IOException
readUnsignedShort
在接口中 java.io.DataInput
java.io.IOException
public int skipBytes(int n) throws java.io.IOException
skipBytes
在接口中 java.io.DataInput
java.io.IOException