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

public Class UTF8Reader

extends Reader
Class Inheritance
Imports
java.io.InputStream, .IOException, .Reader, java.util.Locale, com.sun.org.apache.xerces.internal.util.MessageFormatter, com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter, com.sun.xml.internal.stream.util.BufferAllocator, .ThreadLocalBufferAllocator

A UTF-8 reader.

Author
Andy Clark, IBM

Field Summary

Modifier and TypeField and Description
private static final boolean
DEBUG_READ

Debug read.

public static final int
DEFAULT_BUFFER_SIZE

Default byte buffer size (2048).

protected byte[]
fBuffer

Byte buffer.

private MessageFormatter
protected InputStream
fInputStream

Input stream.

private Locale
protected int
fOffset

Offset into buffer.

private int
fSurrogate

Surrogate character.

Inherited from java.io.Reader:
lock

Constructor Summary

AccessConstructor and Description
public
UTF8Reader(InputStream
The input stream.
inputStream
)

Constructs a UTF-8 reader from the specified input stream using the default buffer size.

public
UTF8Reader(InputStream
The input stream.
inputStream
,
MessageFormatter
given MessageFormatter
messageFormatter
,
Locale
Locale to use for messages
locale
)

Constructs a UTF-8 reader from the specified input stream using the default buffer size and the given MessageFormatter.

public
UTF8Reader(InputStream
The input stream.
inputStream
,
int
The initial buffer size.
size
,
MessageFormatter
the formatter for localizing/formatting errors.
messageFormatter
,
Locale
the Locale to use for messages
locale
)

Constructs a UTF-8 reader from the specified input stream, buffer size and MessageFormatter.

Method Summary

Modifier and TypeMethod and Description
public void
close()

Implements abstract java.io.Reader.close.

Implements java.io.Closeable.close.

Close the stream.

private void
expectedByte(int position, int count)

Throws an exception for expected byte.

private void
invalidByte(int position, int count, int c)

Throws an exception for invalid byte.

private void
invalidSurrogate(int uuuuu)

Throws an exception for invalid surrogate bits.

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 16383 (0x00-0xffff), 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

DEBUG_READback to summary
private static final boolean DEBUG_READ

Debug read.

DEFAULT_BUFFER_SIZEback to summary
public static final int DEFAULT_BUFFER_SIZE

Default byte buffer size (2048).

fBufferback to summary
protected byte[] fBuffer

Byte buffer.

fFormatterback to summary
private MessageFormatter fFormatter
fInputStreamback to summary
protected InputStream fInputStream

Input stream.

fLocaleback to summary
private Locale fLocale
fOffsetback to summary
protected int fOffset

Offset into buffer.

fSurrogateback to summary
private int fSurrogate

Surrogate character.

Constructor Detail

UTF8Readerback to summary
public UTF8Reader(InputStream inputStream)

Constructs a UTF-8 reader from the specified input stream using the default buffer size. Primarily for testing.

Parameters
inputStream:InputStream

The input stream.

UTF8Readerback to summary
public UTF8Reader(InputStream inputStream, MessageFormatter messageFormatter, Locale locale)

Constructs a UTF-8 reader from the specified input stream using the default buffer size and the given MessageFormatter.

Parameters
inputStream:InputStream

The input stream.

messageFormatter:MessageFormatter

given MessageFormatter

locale:Locale

Locale to use for messages

UTF8Readerback to summary
public UTF8Reader(InputStream inputStream, int size, MessageFormatter messageFormatter, Locale locale)

Constructs a UTF-8 reader from the specified input stream, buffer size and MessageFormatter.

Parameters
inputStream:InputStream

The input stream.

size:int

The initial buffer size.

messageFormatter:MessageFormatter

the formatter for localizing/formatting errors.

locale:Locale

the Locale to use for messages

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
expectedByteback to summary
private void expectedByte(int position, int count) throws MalformedByteSequenceException

Throws an exception for expected byte.

invalidByteback to summary
private void invalidByte(int position, int count, int c) throws MalformedByteSequenceException

Throws an exception for invalid byte.

invalidSurrogateback to summary
private void invalidSurrogate(int uuuuu) throws MalformedByteSequenceException

Throws an exception for invalid surrogate bits.

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 16383 (0x00-0xffff), 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