public final class UTF8ByteBufferReader extends java.io.Reader implements Reusable
This class represents a UTF-8 j2me.nio.ByteBuffer
reader.
This reader can be used for efficient decoding of native byte
buffers (e.g. MappedByteBuffer
), high-performance
messaging (no intermediate buffer), etc.
This reader supports surrogate char
pairs (representing
characters in the range [U+10000 .. U+10FFFF]). It can also be used
to read characters unicodes (31 bits) directly
(ref. read()
).
Each invocation of one of the read()
methods may cause one
or more bytes to be read from the underlying byte buffer.
The end of stream is reached when the byte buffer position and limit
coincide.
UTF8ByteBufferWriter
Constructor and Description |
---|
UTF8ByteBufferReader()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes and
resets this reader for reuse. |
int |
read()
Reads a single character.
|
void |
read(java.lang.Appendable dest)
Reads characters into the specified appendable.
|
int |
read(char[] cbuf,
int off,
int len)
Reads characters into a portion of an array.
|
boolean |
ready()
Indicates if this stream is ready to be read.
|
void |
reset()
Resets the internal state of this object to its default values.
|
UTF8ByteBufferReader |
setByteBuffer(java.nio.ByteBuffer byteBuffer)
Deprecated.
Replaced by
setInput(ByteBuffer) |
UTF8ByteBufferReader |
setInput(java.nio.ByteBuffer byteBuffer)
Sets the
ByteBuffer to use for reading available bytes
from current buffer position. |
public UTF8ByteBufferReader setInput(java.nio.ByteBuffer byteBuffer)
ByteBuffer
to use for reading available bytes
from current buffer position.public boolean ready() throws java.io.IOException
ready
in class java.io.Reader
true
if the byte buffer has remaining bytes to
read; false
otherwise.java.io.IOException
- if an I/O error occurs.public void close() throws java.io.IOException
resets
this reader for reuse.close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.Reader
java.io.IOException
- if an I/O error occurs.public int read() throws java.io.IOException
-1
is returned if the buffer's limit has been reached.read
in class java.io.Reader
java.io.IOException
- if an I/O error occurs (e.g. incomplete
character sequence being read).public int read(char[] cbuf, int off, int len) throws java.io.IOException
Note: Characters between U+10000 and U+10FFFF are represented
by surrogate pairs (two char
).
read
in class java.io.Reader
cbuf
- the destination buffer.off
- the offset at which to start storing characters.len
- the maximum number of characters to readjava.io.IOException
- if an I/O error occurs.public void read(java.lang.Appendable dest) throws java.io.IOException
Note: Characters between U+10000 and U+10FFFF are represented
by surrogate pairs (two char
).
dest
- the destination buffer.java.io.IOException
- if an I/O error occurs.public void reset()
Reusable
@Deprecated public UTF8ByteBufferReader setByteBuffer(java.nio.ByteBuffer byteBuffer)
setInput(ByteBuffer)
Copyright © 2005 - 2007 Javolution.