java.io

Class OutputStreamWriter

Implemented Interfaces:
Appendable, AutoCloseable, Closeable, Flushable
Known Direct Subclasses:
FileWriter

public class OutputStreamWriter
extends Writer

This class writes characters to an output stream that is byte oriented It converts the chars that are written to bytes using an encoding layer, which is specific to a particular encoding standard. The desired encoding can either be specified by name, or if no encoding is specified, the system default encoding will be used. The system default encoding name is determined from the system property file.encoding. The only encodings that are guaranteed to be available are "8859_1" (the Latin-1 character set) and "UTF8". Unfortunately, Java does not provide a mechanism for listing the encodings that are supported in a given implementation.

Here is a list of standard encoding names that may be available:

Field Summary

Fields inherited from class java.io.Writer

lock

Constructor Summary

OutputStreamWriter(OutputStream out)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using the default encoding.
OutputStreamWriter(OutputStream out, String encoding_scheme)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a caller supplied character encoding scheme.
OutputStreamWriter(OutputStream out, Charset cs)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a given Charset.
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a given CharsetEncoder.

Method Summary

void
close()
This method closes this stream, and the underlying OutputStream
void
flush()
This method flushes any buffered bytes to the underlying output sink.
String
getEncoding()
This method returns the name of the character encoding scheme currently in use by this stream.
void
write(char[] buf, int offset, int count)
This method writes count characters from the specified array to the output stream starting at position offset into the array.
void
write(int ch)
This method writes a single character to the output stream.
void
write(String str, int offset, int count)
This method writes count bytes from the specified String starting at position offset into the String.

Methods inherited from class java.io.Writer

append, append, append, close, flush, write, write, write, write, write

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

OutputStreamWriter

public OutputStreamWriter(OutputStream out)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using the default encoding.
Parameters:
out - The OutputStream to write to

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          String encoding_scheme)
            throws UnsupportedEncodingException
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a caller supplied character encoding scheme. Note that due to a deficiency in the Java language design, there is no way to determine which encodings are supported.
Parameters:
out - The OutputStream to write to
encoding_scheme - The name of the encoding scheme to use for character to byte translation
Throws:
UnsupportedEncodingException - If the named encoding is not available.

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          Charset cs)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a given Charset.
Parameters:
out - The OutputStream to write to
cs - The Charset of the encoding to use
Since:
1.5

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          CharsetEncoder enc)
This method initializes a new instance of OutputStreamWriter to write to the specified stream using a given CharsetEncoder.
Parameters:
out - The OutputStream to write to
enc - The CharsetEncoder to encode the output with
Since:
1.5

Method Details

close

public void close()
            throws IOException
This method closes this stream, and the underlying OutputStream
Specified by:
close in interface Closeable
close in interface AutoCloseable
Overrides:
close in interface Writer
Throws:
IOException - If an error occurs

flush

public void flush()
            throws IOException
This method flushes any buffered bytes to the underlying output sink.
Specified by:
flush in interface Flushable
Overrides:
flush in interface Writer
Throws:
IOException - If an error occurs

getEncoding

public String getEncoding()
This method returns the name of the character encoding scheme currently in use by this stream. If the stream has been closed, then this method may return null.
Returns:
The encoding scheme name

write

public void write(char[] buf,
                  int offset,
                  int count)
            throws IOException
This method writes count characters from the specified array to the output stream starting at position offset into the array.
Overrides:
write in interface Writer
Parameters:
buf - The array of character to write from
offset - The offset into the array to start writing chars from
count - The number of chars to write.
Throws:
IOException - If an error occurs

write

public void write(int ch)
            throws IOException
This method writes a single character to the output stream.
Overrides:
write in interface Writer
Parameters:
ch - The char to write, passed as an int.
Throws:
IOException - If an error occurs

write

public void write(String str,
                  int offset,
                  int count)
            throws IOException
This method writes count bytes from the specified String starting at position offset into the String.
Overrides:
write in interface Writer
Parameters:
str - The String to write chars from
offset - The position in the String to start writing chars from
count - The number of chars to write
Throws:
IOException - If an error occurs

OutputStreamWriter.java -- Writer that converts chars to bytes Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.