public class UCSReader
extends java.io.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 java.io.InputStream |
fInputStream
Input stream.
|
static short |
UCS2BE |
static short |
UCS2LE |
static short |
UCS4BE |
static short |
UCS4LE |
Constructor and Description |
---|
UCSReader(java.io.InputStream inputStream,
int size,
short encoding)
Constructs an ASCII reader from the specified input stream
and buffer size.
|
UCSReader(java.io.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 java.io.InputStream fInputStream
protected byte[] fBuffer
protected short fEncoding
public UCSReader(java.io.InputStream inputStream, short encoding)
inputStream
- The input stream.encoding
- One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.public UCSReader(java.io.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 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 occurs