public final class XmlReader
extends java.io.Reader
Note that the autodetection facility should be used only on data streams which have an unknown character encoding. For example, it should never be used on MIME text/xml entities.
Note that XML processors are only required to support UTF-8 and UTF-16 character encodings. Autodetection permits the underlying Java implementation to provide support for many other encodings, such as ISO-8859-5, Shift_JIS, EUC-JP, and ISO-2022-JP.
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Closes the reader.
|
static java.io.Reader |
createReader(java.io.InputStream in) |
Constructs the reader from an input stream, autodetecting
the encoding to use according to the heuristic specified
in the XML 1.0 recommendation.
|
static java.io.Reader |
createReader(java.io.InputStream in,
java.lang.String encoding) |
Creates a reader supporting the given encoding, mapping
from standard encoding names to ones that understood by
Java where necessary.
|
static java.io.Reader |
createReader(java.net.URLConnection uc) |
Constructs the reader from a URLConnection.
|
java.lang.String |
getEncoding() |
Returns the (non)standard name of the encoding in use
|
void |
mark(int value) |
Sets a mark allowing a limited number of characters to
be "peeked", by reading and then resetting.
|
boolean |
markSupported() |
Returns true iff the reader supports mark/reset.
|
int |
read() |
Reads a single character.
|
int |
read(char[] buf,
int off,
int len) |
Reads the number of characters read into the buffer, or -1 on EOF.
|
boolean |
ready() |
Returns true iff input characters are known to be ready.
|
void |
reset() |
Resets the current position to the last marked position.
|
long |
skip(long value) |
Skips a specified number of characters.
|
public static java.io.Reader createReader(java.net.URLConnection uc) throws java.io.IOException
uc
- the URLConnection from which the reader is constructedjava.io.IOException
- on errorjava.io.UnsupportedEncodingException
- when the input stream
is not in an encoding which is supported; this is a fatal XML
error.public static java.io.Reader createReader(java.io.InputStream in) throws java.io.IOException
in
- the input stream from which the reader is constructedjava.io.IOException
- on errorjava.io.UnsupportedEncodingException
- when the input stream
is not in an encoding which is supported; this is a fatal XML
error.public static java.io.Reader createReader(java.io.InputStream in, java.lang.String encoding) throws java.io.IOException
in
- the input stream from which the reader is constructedencoding
- the IETF standard name of the encoding to use;
if null, autodetection is used.java.io.IOException
- on errorjava.io.UnsupportedEncodingException
- when the input stream
is not in an encoding which is supported; this is a fatal XML
error.public java.lang.String getEncoding()
public int read(char[] buf, int off, int len) throws java.io.IOException
read
in class java.io.Reader
java.io.IOException
public int read() throws java.io.IOException
read
in class java.io.Reader
java.io.IOException
public boolean markSupported()
markSupported
in class java.io.Reader
public void mark(int value) throws java.io.IOException
mark
in class java.io.Reader
value
- how many characters may be "peeked".java.io.IOException
public void reset() throws java.io.IOException
reset
in class java.io.Reader
java.io.IOException
public long skip(long value) throws java.io.IOException
skip
in class java.io.Reader
java.io.IOException
public boolean ready() throws java.io.IOException
ready
in class java.io.Reader
java.io.IOException
public void close() throws java.io.IOException
close
in class java.io.Reader
java.io.IOException