public class UCSReader extends Reader
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BUFFER_SIZE
Default byte buffer size (8192, larger than that of ASCIIReader
since it's reasonable to surmise that the average UCS-4-encoded
file should be 4 times as large as the average ASCII-encoded file).
|
protected byte[] |
fBuffer
Byte buffer.
|
protected short |
fEncoding |
protected InputStream |
fInputStream
Input stream.
|
static short |
UCS2BE |
static short |
UCS2LE |
static short |
UCS4BE |
static short |
UCS4LE |
Constructor and Description |
---|
UCSReader(InputStream inputStream,
int size,
short encoding)
Constructs an ASCII reader from the specified input stream
and buffer size.
|
UCSReader(InputStream inputStream,
short encoding)
Constructs an ASCII reader from the specified input stream
using the default buffer size.
|
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
public static final short UCS2LE
public static final short UCS2BE
public static final short UCS4LE
public static final short UCS4BE
protected InputStream fInputStream
protected byte[] fBuffer
protected short fEncoding
public UCSReader(InputStream inputStream, short encoding)
inputStream
- The input stream.encoding
- One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.public UCSReader(InputStream inputStream, int size, short encoding)
inputStream
- The input stream.size
- The initial buffer size.encoding
- One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.public int read() throws IOException
Subclasses that intend to support efficient single-character input should override this method.
read
in class Reader
0x00-0x7f
), or -1 if the end of the stream has
been reachedIOException
- If an I/O error occurspublic int read(char[] ch, int offset, int length) throws IOException
read
in class Reader
ch
- Destination bufferoffset
- Offset at which to start storing characterslength
- Maximum number of characters to readIOException
- If an I/O error occurspublic long skip(long n) throws IOException
skip
in class Reader
n
- The number of characters to skipIOException
- If an I/O error occurspublic boolean ready() throws IOException
ready
in class Reader
IOException
- If an I/O error occurspublic boolean markSupported()
markSupported
in class Reader
public void mark(int readAheadLimit) throws IOException
mark
in class 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.IOException
- If the stream does not support mark(),
or if some other I/O error occurspublic void reset() throws IOException
reset
in class Reader
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 IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class Reader
IOException
- If an I/O error occursCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.