Package org.apache.commons.io.output
Class XmlStreamWriter
- java.lang.Object
-
- java.io.Writer
-
- org.apache.commons.io.output.XmlStreamWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public class XmlStreamWriter extends java.io.Writer
Character stream that handles all the necessary Voodo to figure out the charset encoding of the XML document written to the stream.- Since:
- 2.0
- Version:
- $Id: XmlStreamWriter.java 1304052 2012-03-22 20:55:29Z ggregory $
- See Also:
XmlStreamReader
-
-
Field Summary
Fields Modifier and Type Field Description private static int
BUFFER_SIZE
private java.lang.String
defaultEncoding
private java.lang.String
encoding
(package private) static java.util.regex.Pattern
ENCODING_PATTERN
private java.io.OutputStream
out
private java.io.Writer
writer
private java.io.StringWriter
xmlPrologWriter
-
Constructor Summary
Constructors Constructor Description XmlStreamWriter(java.io.File file)
Construct an new XML stream writer for the specified file with a default encoding of UTF-8.XmlStreamWriter(java.io.File file, java.lang.String defaultEncoding)
Construct an new XML stream writer for the specified file with the specified default encoding.XmlStreamWriter(java.io.OutputStream out)
Construct an new XML stream writer for the specified output stream with a default encoding of UTF-8.XmlStreamWriter(java.io.OutputStream out, java.lang.String defaultEncoding)
Construct an new XML stream writer for the specified output stream with the specified default encoding.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the underlying writer.private void
detectEncoding(char[] cbuf, int off, int len)
Detect the encoding.void
flush()
Flush the underlying writer.java.lang.String
getDefaultEncoding()
Return the default encoding.java.lang.String
getEncoding()
Return the detected encoding.void
write(char[] cbuf, int off, int len)
Write the characters to the underlying writer, detecing encoding.
-
-
-
Field Detail
-
BUFFER_SIZE
private static final int BUFFER_SIZE
- See Also:
- Constant Field Values
-
out
private final java.io.OutputStream out
-
defaultEncoding
private final java.lang.String defaultEncoding
-
xmlPrologWriter
private java.io.StringWriter xmlPrologWriter
-
writer
private java.io.Writer writer
-
encoding
private java.lang.String encoding
-
ENCODING_PATTERN
static final java.util.regex.Pattern ENCODING_PATTERN
-
-
Constructor Detail
-
XmlStreamWriter
public XmlStreamWriter(java.io.OutputStream out)
Construct an new XML stream writer for the specified output stream with a default encoding of UTF-8.- Parameters:
out
- The output stream
-
XmlStreamWriter
public XmlStreamWriter(java.io.OutputStream out, java.lang.String defaultEncoding)
Construct an new XML stream writer for the specified output stream with the specified default encoding.- Parameters:
out
- The output streamdefaultEncoding
- The default encoding if not encoding could be detected
-
XmlStreamWriter
public XmlStreamWriter(java.io.File file) throws java.io.FileNotFoundException
Construct an new XML stream writer for the specified file with a default encoding of UTF-8.- Parameters:
file
- The file to write to- Throws:
java.io.FileNotFoundException
- if there is an error creating or opening the file
-
XmlStreamWriter
public XmlStreamWriter(java.io.File file, java.lang.String defaultEncoding) throws java.io.FileNotFoundException
Construct an new XML stream writer for the specified file with the specified default encoding.- Parameters:
file
- The file to write todefaultEncoding
- The default encoding if not encoding could be detected- Throws:
java.io.FileNotFoundException
- if there is an error creating or opening the file
-
-
Method Detail
-
getEncoding
public java.lang.String getEncoding()
Return the detected encoding.- Returns:
- the detected encoding
-
getDefaultEncoding
public java.lang.String getDefaultEncoding()
Return the default encoding.- Returns:
- the default encoding
-
close
public void close() throws java.io.IOException
Close the underlying writer.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Writer
- Throws:
java.io.IOException
- if an error occurs closing the underlying writer
-
flush
public void flush() throws java.io.IOException
Flush the underlying writer.- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in classjava.io.Writer
- Throws:
java.io.IOException
- if an error occurs flushing the underlying writer
-
detectEncoding
private void detectEncoding(char[] cbuf, int off, int len) throws java.io.IOException
Detect the encoding.- Parameters:
cbuf
- the buffer to write the characters fromoff
- The start offsetlen
- The number of characters to write- Throws:
java.io.IOException
- if an error occurs detecting the encoding
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException
Write the characters to the underlying writer, detecing encoding.- Specified by:
write
in classjava.io.Writer
- Parameters:
cbuf
- the buffer to write the characters fromoff
- The start offsetlen
- The number of characters to write- Throws:
java.io.IOException
- if an error occurs detecting the encoding
-
-