Package de.pdark.decentxml
Class XMLInputStreamReader
- java.lang.Object
-
- java.io.Reader
-
- de.pdark.decentxml.XMLInputStreamReader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Readable
public class XMLInputStreamReader extends java.io.Reader
Determine the encoding of a stream of bytes according to the XML spec and return a Reader which converts the byte stream into Unicode as it is read.- Author:
- digulla
- See Also:
Reader
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ENCODING_ISO_8859_1
The constant "ISO-8859-1", also called "Latin-1"static java.lang.String
ENCODING_ISO_Latin_1
An alias for ENCODING_ISO_8859_1static java.util.Map<java.lang.String,java.lang.String>
ENCODING_MAP
A map to convert standard XML encodings into Java encodings.static java.lang.String
ENCODING_UTF_8
The constant "UTF-8"static java.util.Map<java.lang.String,java.lang.String>
JAVA_TO_XML_ENCODING_MAP
A map to convert standard Java encodings into XML encodings.static java.util.regex.Pattern
VERSION_PATTERN
-
Constructor Summary
Constructors Constructor Description XMLInputStreamReader(java.io.InputStream in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
determineEncoding()
Determine the encoding of the stream.java.lang.String
getJavaEncoding()
Get the Java name of the XML encoding of the stream.java.lang.String
getXmlEncoding()
Return the encoding of the streamint
read(char[] cbuf, int off, int len)
void
setXmlEncoding(java.lang.String xmlEncoding)
If you know the encoding, you can override it here.
-
-
-
Field Detail
-
ENCODING_UTF_8
public static final java.lang.String ENCODING_UTF_8
The constant "UTF-8"- See Also:
- Constant Field Values
-
ENCODING_ISO_8859_1
public static final java.lang.String ENCODING_ISO_8859_1
The constant "ISO-8859-1", also called "Latin-1"- See Also:
- Constant Field Values
-
ENCODING_ISO_Latin_1
public static final java.lang.String ENCODING_ISO_Latin_1
An alias for ENCODING_ISO_8859_1- See Also:
- Constant Field Values
-
ENCODING_MAP
public static java.util.Map<java.lang.String,java.lang.String> ENCODING_MAP
A map to convert standard XML encodings into Java encodings.The map is mutable; you can put your own encodings in here if you need them.
-
JAVA_TO_XML_ENCODING_MAP
public static java.util.Map<java.lang.String,java.lang.String> JAVA_TO_XML_ENCODING_MAP
A map to convert standard Java encodings into XML encodings.The map is mutable; you can put your own encodings in here if you need them.
-
VERSION_PATTERN
public static final java.util.regex.Pattern VERSION_PATTERN
-
-
Method Detail
-
determineEncoding
public void determineEncoding()
Determine the encoding of the stream.It is safe to call this method more than once from a single thread.
-
getXmlEncoding
public java.lang.String getXmlEncoding()
Return the encoding of the stream
-
setXmlEncoding
public void setXmlEncoding(java.lang.String xmlEncoding)
If you know the encoding, you can override it here.When you do that, the reader will ignore the encoding in the stream if there is one.
-
getJavaEncoding
public java.lang.String getJavaEncoding()
Get the Java name of the XML encoding of the stream.
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Reader
- Throws:
java.io.IOException
-
read
public int read(char[] cbuf, int off, int len) throws java.io.IOException
- Specified by:
read
in classjava.io.Reader
- Throws:
java.io.IOException
-
-