Package org.apache.commons.io.output
Class XmlStreamWriter
java.lang.Object
java.io.Writer
org.apache.commons.io.output.XmlStreamWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
Character stream that handles all the necessary Voodoo to figure out the
charset encoding of the XML document written to the stream.
- Since:
- 2.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private final String
private String
(package private) static final Pattern
private final OutputStream
private Writer
private StringWriter
-
Constructor Summary
ConstructorsConstructorDescriptionXmlStreamWriter
(File file) Constructs a new XML stream writer for the specified file with a default encoding of UTF-8.XmlStreamWriter
(File file, String defaultEncoding) Constructs a new XML stream writer for the specified file with the specified default encoding.Constructs a new XML stream writer for the specified output stream with a default encoding of UTF-8.XmlStreamWriter
(OutputStream out, String defaultEncoding) Constructs a new XML stream writer for the specified output stream with the specified default encoding. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes the underlying writer.private void
detectEncoding
(char[] cbuf, int off, int len) Detects the encoding.void
flush()
Flushes the underlying writer.Returns the default encoding.Returns the detected encoding.void
write
(char[] cbuf, int off, int len) Writes the characters to the underlying writer, detecting encoding.
-
Field Details
-
BUFFER_SIZE
private static final int BUFFER_SIZE- See Also:
-
out
-
defaultEncoding
-
xmlPrologWriter
-
writer
-
encoding
-
ENCODING_PATTERN
-
-
Constructor Details
-
XmlStreamWriter
Constructs a new XML stream writer for the specified output stream with a default encoding of UTF-8.- Parameters:
out
- The output stream
-
XmlStreamWriter
Constructs a 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
Constructs a new XML stream writer for the specified file with a default encoding of UTF-8.- Parameters:
file
- The file to write to- Throws:
FileNotFoundException
- if there is an error creating or opening the file
-
XmlStreamWriter
Constructs a 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:
FileNotFoundException
- if there is an error creating or opening the file
-
-
Method Details
-
getEncoding
Returns the detected encoding.- Returns:
- the detected encoding
-
getDefaultEncoding
Returns the default encoding.- Returns:
- the default encoding
-
close
Closes the underlying writer.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classWriter
- Throws:
IOException
- if an error occurs closing the underlying writer
-
flush
Flushes the underlying writer.- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in classWriter
- Throws:
IOException
- if an error occurs flushing the underlying writer
-
detectEncoding
Detects the encoding.- Parameters:
cbuf
- the buffer to write the characters fromoff
- The start offsetlen
- The number of characters to write- Throws:
IOException
- if an error occurs detecting the encoding
-
write
Writes the characters to the underlying writer, detecting encoding.- Specified by:
write
in classWriter
- Parameters:
cbuf
- the buffer to write the characters fromoff
- The start offsetlen
- The number of characters to write- Throws:
IOException
- if an error occurs detecting the encoding
-