OutputStreamWriter

public class OutputStreamWriter extends Writer
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.

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
write(String str, int offset, int count)
Writes count characters starting at offset in str to this writer.
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.