public class

UTF8Reader

extends Reader
java.lang.Object
   ↳ java.io.Reader
     ↳ org.apache.xerces.impl.io.UTF8Reader

Class Overview

A UTF-8 reader.

@xerces.internal

Summary

Constants
int DEFAULT_BUFFER_SIZE Default byte buffer size (2048).
Fields
protected final byte[] fBuffer Byte buffer.
protected final InputStream fInputStream Input stream.
protected int fOffset Offset into buffer.
[Expand]
Inherited Fields
From class java.io.Reader
Public Constructors
UTF8Reader(InputStream inputStream)
Constructs a UTF-8 reader from the specified input stream using the default buffer size.
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.
UTF8Reader(InputStream inputStream, int size, MessageFormatter messageFormatter, Locale locale)
Constructs a UTF-8 reader from the specified input stream, buffer size and MessageFormatter.
UTF8Reader(InputStream inputStream, byte[] buffer, MessageFormatter messageFormatter, Locale locale)
Constructs a UTF-8 reader from the specified input stream, buffer and MessageFormatter.
Public Methods
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.
[Expand]
Inherited Methods
From class java.io.Reader
From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.Readable

Constants

public static final int DEFAULT_BUFFER_SIZE

Default byte buffer size (2048).

Constant Value: 2048 (0x00000800)

Fields

protected final byte[] fBuffer

Byte buffer.

protected final InputStream fInputStream

Input stream.

protected int fOffset

Offset into buffer.

Public Constructors

public UTF8Reader (InputStream inputStream)

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

Parameters
inputStream The input stream.

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 The input stream.
messageFormatter given MessageFormatter
locale Locale to use for messages

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 The input stream.
size The initial buffer size.
messageFormatter the formatter for localizing/formatting errors.
locale the Locale to use for messages

public UTF8Reader (InputStream inputStream, byte[] buffer, MessageFormatter messageFormatter, Locale locale)

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

Parameters
inputStream The input stream.
buffer The byte buffer.
messageFormatter the formatter for localizing/formatting errors.
locale the Locale to use for messages

Public Methods

public void 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.

Throws
IOException If an I/O error occurs

public void mark (int readAheadLimit)

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 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.
Throws
IOException If the stream does not support mark(), or if some other I/O error occurs

public boolean markSupported ()

Tell whether this stream supports the mark() operation.

public int 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
  • 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
Throws
IOException If an I/O error occurs

public int read (char[] ch, int offset, int length)

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 Destination buffer
offset Offset at which to start storing characters
length Maximum number of characters to read
Returns
  • The number of characters read, or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

public boolean ready ()

Tell whether this stream is ready to be read.

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.
Throws
IOException If an I/O error occurs

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

Throws
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

public long skip (long n)

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 The number of characters to skip
Returns
  • The number of characters actually skipped
Throws
IOException If an I/O error occurs