Known Direct Subclasses |
A class for turning a character stream into a byte stream. Data written to
the target input stream is converted into bytes by either a default or a
provided character converter. The default encoding is taken from the
"file.encoding" system property. OutputStreamWriter
contains a buffer
of bytes to be written to target stream and converts these into characters as
needed. The buffer size is 8K.
See Also
Inherited Field Summary
Public Constructor Summary
OutputStreamWriter(OutputStream out)
Constructs a new OutputStreamWriter using
out as the target
stream to write converted characters to. |
|
OutputStreamWriter(OutputStream out, String charsetName)
Constructs a new OutputStreamWriter using
out as the target
stream to write converted characters to and charsetName as the character
encoding. |
|
OutputStreamWriter(OutputStream out, Charset cs)
Constructs a new OutputStreamWriter using
out as the target
stream to write converted characters to and cs as the character
encoding. |
|
OutputStreamWriter(OutputStream out, CharsetEncoder charsetEncoder)
Constructs a new OutputStreamWriter using
out as the target
stream to write converted characters to and charsetEncoder as the character
encoder. |
Public Method Summary
void |
close()
Closes this writer.
|
void |
flush()
Flushes this writer.
|
String |
getEncoding()
Returns the canonical name of the encoding used by this writer to convert characters to
bytes, or null if this writer has been closed.
|
void |
write(int oneChar)
Writes the character
oneChar to this writer. |
void | |
void |
write(char[] buffer, int offset, int count)
Writes
count characters starting at offset in buf
to this writer. |
Inherited Method Summary
Public Constructors
public OutputStreamWriter (OutputStream out)
Constructs a new OutputStreamWriter using out
as the target
stream to write converted characters to. The default character encoding
is used.
Parameters
out | the non-null target stream to write converted bytes to. |
---|
public OutputStreamWriter (OutputStream out, String charsetName)
Constructs a new OutputStreamWriter using out
as the target
stream to write converted characters to and charsetName
as the character
encoding. If the encoding cannot be found, an
UnsupportedEncodingException error is thrown.
Parameters
out | the target stream to write converted bytes to. |
---|---|
charsetName | the string describing the desired character encoding. |
Throws
NullPointerException | if charsetName is null . |
---|---|
UnsupportedEncodingException | if the encoding specified by charsetName cannot be found.
|
public OutputStreamWriter (OutputStream out, Charset cs)
Constructs a new OutputStreamWriter using out
as the target
stream to write converted characters to and cs
as the character
encoding.
Parameters
out | the target stream to write converted bytes to. |
---|---|
cs | the Charset that specifies the character encoding.
|
public OutputStreamWriter (OutputStream out, CharsetEncoder charsetEncoder)
Constructs a new OutputStreamWriter using out
as the target
stream to write converted characters to and charsetEncoder
as the character
encoder.
Parameters
out | the target stream to write converted bytes to. |
---|---|
charsetEncoder | the character encoder used for character conversion. |
Public Methods
public void close ()
Closes this writer. This implementation flushes the buffer as well as the target stream. The target stream is then closed and the resources for the buffer and converter are released.
Only the first invocation of this method has any effect. Subsequent calls do nothing.
Throws
IOException | if an error occurs while closing this writer. |
---|
public void flush ()
Flushes this writer. This implementation ensures that all buffered bytes are written to the target stream. After writing the bytes, the target stream is flushed as well.
Throws
IOException | if an error occurs while flushing this writer. |
---|
public String getEncoding ()
Returns the canonical name of the encoding used by this writer to convert characters to bytes, or null if this writer has been closed. Most callers should probably keep track of the String or Charset they passed in; this method may not return the same name.
public void write (int oneChar)
Writes the character oneChar
to this writer. The lowest two bytes
of the integer oneChar
are immediately converted to bytes by the
character converter and stored in a local buffer. If the buffer gets full
by converting this character, this writer is flushed.
Parameters
oneChar | the character to write. |
---|
Throws
IOException | if this writer is closed or another I/O error occurs. |
---|
public void write (String str, int offset, int count)
Writes count
characters starting at offset
in str
to this writer. The characters are immediately converted to bytes by the
character converter and stored in a local buffer. If the buffer gets full
as a result of the conversion, this writer is flushed.
Parameters
str | the string containing characters to write. |
---|---|
offset | the start position in str for retrieving characters. |
count | the maximum number of characters to write. |
Throws
IOException | if this writer has already been closed or another I/O error occurs. |
---|---|
IndexOutOfBoundsException | if offset < 0 or count < 0 , or if
offset + count is bigger than the length of
str .
|
public void write (char[] buffer, int offset, int count)
Writes count
characters starting at offset
in buf
to this writer. The characters are immediately converted to bytes by the
character converter and stored in a local buffer. If the buffer gets full
as a result of the conversion, this writer is flushed.
Parameters
buffer | the array containing characters to write. |
---|---|
offset | the index of the first character in buf to write. |
count | the maximum number of characters to write. |
Throws
IndexOutOfBoundsException | if offset < 0 or count < 0 , or if
offset + count is greater than the size of
buf . |
---|---|
IOException | if this writer has already been closed or another I/O error occurs. |