APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xerces.internal.impl.io

public Class UCSReader

extends Reader
Class Inheritance
Imports
java.io.InputStream, .IOException, .Reader, com.sun.xml.internal.stream.util.BufferAllocator, .ThreadLocalBufferAllocator

Reader for UCS-2 and UCS-4 encodings. (i.e., encodings from ISO-10646-UCS-(2|4)).
Author
Neil Graham, IBM

Field Summary

Modifier and TypeField and Description
public static final 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
protected InputStream
fInputStream

Input stream.

public static final short
public static final short
public static final short
public static final short
Inherited from java.io.Reader:
lock

Constructor Summary

AccessConstructor and Description
public
UCSReader(InputStream
The input stream.
inputStream
,
short
One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.
encoding
)

Constructs an ASCII reader from the specified input stream using the default buffer size.

public
UCSReader(InputStream
The input stream.
inputStream
,
int
The initial buffer size.
size
,
short
One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.
encoding
)

Constructs an ASCII reader from the specified input stream and buffer size.

Method Summary

Modifier and TypeMethod and Description
public void
close()

Implements abstract java.io.Reader.close.

Implements java.io.Closeable.close.

Close the stream.

public void
mark(int
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.
readAheadLimit
)

Overrides java.io.Reader.mark.

Mark the present position in the stream.

public boolean
markSupported()

Overrides java.io.Reader.markSupported.

Tell whether this stream supports the mark() operation.

public int

Returns:

The character read, as an integer in the range 0 to 127 (0x00-0x7f), or -1 if the end of the stream has been reached
read
()

Overrides java.io.Reader.read.

Read a single character.

public int

Returns:

The number of characters read, or -1 if the end of the stream has been reached
read
(char[]
Destination buffer
ch
,
int
Offset at which to start storing characters
offset
,
int
Maximum number of characters to read
length
)

Implements abstract java.io.Reader.read.

Read characters into a portion of an array.

public boolean

Returns:

True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.
ready
()

Overrides java.io.Reader.ready.

Tell whether this stream is ready to be read.

public void
reset()

Overrides java.io.Reader.reset.

Reset the stream.

public long

Returns:

The number of characters actually skipped
skip
(long
The number of characters to skip
n
)

Overrides java.io.Reader.skip.

Skip characters.

Inherited from java.io.Reader:
nullReaderofreadreadreadAllAsStringreadAllLinestransferTo

Field Detail

DEFAULT_BUFFER_SIZEback to summary
public static final 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).

fBufferback to summary
protected byte[] fBuffer

Byte buffer.

fEncodingback to summary
protected short fEncoding
fInputStreamback to summary
protected InputStream fInputStream

Input stream.

UCS2BEback to summary
public static final short UCS2BE
UCS2LEback to summary
public static final short UCS2LE
UCS4BEback to summary
public static final short UCS4BE
UCS4LEback to summary
public static final short UCS4LE

Constructor Detail

UCSReaderback to summary
public UCSReader(InputStream inputStream, short encoding)

Constructs an ASCII reader from the specified input stream using the default buffer size. The Endian-ness and whether this is UCS-2 or UCS-4 needs also to be known in advance.

Parameters
inputStream:InputStream

The input stream.

encoding:short

One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.

UCSReaderback to summary
public UCSReader(InputStream inputStream, int size, short encoding)

Constructs an ASCII reader from the specified input stream and buffer size. The Endian-ness and whether this is UCS-2 or UCS-4 needs also to be known in advance.

Parameters
inputStream:InputStream

The input stream.

size:int

The initial buffer size.

encoding:short

One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.

Method Detail

closeback to summary
public void close() throws IOException

Implements abstract java.io.Reader.close.

Implements java.io.Closeable.close.

Close the stream. Once a stream has been closed, further read(), ready(), mark(), or reset() invocations will throw an IOException. Closing a previously-closed stream, however, has no effect.

Exceptions
IOException:
If an I/O error occurs
markback to summary
public void mark(int readAheadLimit) throws IOException

Overrides java.io.Reader.mark.

Mark the present position in the stream. Subsequent calls to reset() will attempt to reposition the stream to this point. Not all character-input streams support the mark() operation.

Parameters
readAheadLimit:int

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.

Exceptions
IOException:
If the stream does not support mark(), or if some other I/O error occurs
markSupportedback to summary
public boolean markSupported()

Overrides java.io.Reader.markSupported.

Tell whether this stream supports the mark() operation.

readback to summary
public int read() throws IOException

Overrides java.io.Reader.read.

Read a single character. This method will block until a character is available, an I/O error occurs, or the end of the stream is reached.

Subclasses that intend to support efficient single-character input should override this method.

Returns:int

The character read, as an integer in the range 0 to 127 (0x00-0x7f), or -1 if the end of the stream has been reached

Exceptions
IOException:
If an I/O error occurs
readback to summary
public int read(char[] ch, int offset, int length) throws IOException

Implements abstract java.io.Reader.read.

Read characters into a portion of an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.

Parameters
ch:char[]

Destination buffer

offset:int

Offset at which to start storing characters

length:int

Maximum number of characters to read

Returns:int

The number of characters read, or -1 if the end of the stream has been reached

Exceptions
IOException:
If an I/O error occurs
readyback to summary
public boolean ready() throws IOException

Overrides java.io.Reader.ready.

Tell whether this stream is ready to be read.

Returns:boolean

True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.

Exceptions
IOException:
If an I/O error occurs
resetback to summary
public void reset() throws IOException

Overrides java.io.Reader.reset.

Reset the stream. If the stream has been marked, then attempt to reposition it at the mark. If the stream has not been marked, then attempt to reset it in some way appropriate to the particular stream, for example by repositioning it to its starting point. Not all character-input streams support the reset() operation, and some support reset() without supporting mark().

Exceptions
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 occurs
skipback to summary
public long skip(long n) throws IOException

Overrides java.io.Reader.skip.

Skip characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.

Parameters
n:long

The number of characters to skip

Returns:long

The number of characters actually skipped

Exceptions
IOException:
If an I/O error occurs