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 US-ASCII, ISO-8859-5, Shift_JIS, EUC-JP, and ISO-2022-JP.
Modifier and Type | Class and Description |
---|---|
static class |
XmlReader.BaseReader |
Modifier and Type | Method and 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.
|
java.lang.String |
getEncoding()
Returns the 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.io.InputStream in) throws java.io.IOException
in
- the input stream from which the reader is constructedjava.io.IOException
- on error, such as unrecognized encodingpublic 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 error, including unrecognized encodingpublic 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 interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.Reader
java.io.IOException