public final class UTF16Reader
extends java.io.Reader
A UTF-16 reader. Can also be used for UCS-2 (i.e. ISO-10646-UCS-2).
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BUFFER_SIZE
Default byte buffer size (4096).
|
protected byte[] |
fBuffer
Byte buffer.
|
protected java.io.InputStream |
fInputStream
Input stream.
|
protected boolean |
fIsBigEndian
Endianness.
|
Constructor and Description |
---|
UTF16Reader(java.io.InputStream inputStream,
boolean isBigEndian)
Constructs a UTF-16 reader from the specified input stream
using the default buffer size.
|
UTF16Reader(java.io.InputStream inputStream,
boolean isBigEndian,
MessageFormatter messageFormatter,
java.util.Locale locale)
Constructs a UTF-16 reader from the specified input stream
using the default buffer size and the given MessageFormatter.
|
UTF16Reader(java.io.InputStream inputStream,
byte[] buffer,
boolean isBigEndian,
MessageFormatter messageFormatter,
java.util.Locale locale)
Constructs a UTF-16 reader from the specified input stream,
buffer and MessageFormatter.
|
UTF16Reader(java.io.InputStream inputStream,
int size,
boolean isBigEndian,
MessageFormatter messageFormatter,
java.util.Locale locale)
Constructs a UTF-16 reader from the specified input stream
and buffer size and given MessageFormatter.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the stream.
|
void |
mark(int readAheadLimit)
Mark the present position in the stream.
|
boolean |
markSupported()
Tell whether this stream supports the mark() operation.
|
int |
read()
Read a single character.
|
int |
read(char[] ch,
int offset,
int length)
Read characters into a portion of an array.
|
boolean |
ready()
Tell whether this stream is ready to be read.
|
void |
reset()
Reset the stream.
|
long |
skip(long n)
Skip characters.
|
public static final int DEFAULT_BUFFER_SIZE
protected final java.io.InputStream fInputStream
protected final byte[] fBuffer
protected final boolean fIsBigEndian
public UTF16Reader(java.io.InputStream inputStream, boolean isBigEndian)
inputStream
- The input stream.isBigEndian
- The byte order.public UTF16Reader(java.io.InputStream inputStream, boolean isBigEndian, MessageFormatter messageFormatter, java.util.Locale locale)
inputStream
- The input stream.isBigEndian
- The byte order.public UTF16Reader(java.io.InputStream inputStream, int size, boolean isBigEndian, MessageFormatter messageFormatter, java.util.Locale locale)
inputStream
- The input stream.size
- The initial buffer size.isBigEndian
- The byte order.messageFormatter
- Given MessageFormatterlocale
- Locale to use for messagespublic UTF16Reader(java.io.InputStream inputStream, byte[] buffer, boolean isBigEndian, MessageFormatter messageFormatter, java.util.Locale locale)
inputStream
- The input stream.buffer
- The byte buffer.isBigEndian
- The byte order.messageFormatter
- Given MessageFormatterlocale
- Locale to use for messagespublic int read() throws java.io.IOException
Subclasses that intend to support efficient single-character input should override this method.
read
in class java.io.Reader
java.io.IOException
- If an I/O error occurspublic int read(char[] ch, int offset, int length) throws java.io.IOException
read
in class java.io.Reader
ch
- Destination bufferoffset
- Offset at which to start storing characterslength
- Maximum number of characters to readjava.io.IOException
- If an I/O error occurspublic long skip(long n) throws java.io.IOException
skip
in class java.io.Reader
n
- The number of characters to skipjava.io.IOException
- If an I/O error occurspublic boolean ready() throws java.io.IOException
ready
in class java.io.Reader
java.io.IOException
- If an I/O error occurspublic boolean markSupported()
markSupported
in class java.io.Reader
public void mark(int readAheadLimit) throws java.io.IOException
mark
in class java.io.Reader
readAheadLimit
- Limit on the number of characters that may be
read while still preserving the mark. After
reading this many characters, attempting to
reset the stream may fail.java.io.IOException
- If the stream does not support mark(),
or if some other I/O error occurspublic void reset() throws java.io.IOException
reset
in class java.io.Reader
java.io.IOException
- If the stream has not been marked,
or if the mark has been invalidated,
or if the stream does not support reset(),
or if some other I/O error occurspublic void close() throws java.io.IOException
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 occursCopyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.