java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.io
类 OutputStreamWriter

java.lang.Object
  继承者 java.io.Writer
      继承者 java.io.OutputStreamWriter
所有已实现的接口:
Closeable, Flushable, Appendable
直接已知子类:
FileWriter

public class OutputStreamWriter
extends Writer

OutputStreamWriter 是字符流通向字节流的桥梁:使用指定的 charset 将要向其写入的字符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。

每次调用 write() 方法都会针对给定的字符(或字符集)调用编码转换器。在写入基础输出流之前,得到的这些字节会在缓冲区累积。可以指定此缓冲区的大小,不过,默认的缓冲区对多数用途来说已足够大。注意,传递到此 write() 方法的字符是未缓冲的。

为了达到最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中以避免频繁调用转换器。例如:

 Writer out
   = new BufferedWriter(new OutputStreamWriter(System.out));
 

代理对 是一个字符,它由两个 char 值序列表示: 代理项的范围为 '\uD800' 到 '\uDBFF',它后面跟着范围为 '\uDC00' 到 '\uDFFF' 的 代理项。如果由代理项对表示的字符无法由给定的字符集编码,则把依赖于字符集的替代序列 写入输出流。

错误代理元素 指的是后面不跟低代理项的高代理项,或前面没有高代理项的低代理项。尝试写入包含错误代理元素的字符流是非法的。写入错误代理元素时,此类实例的行为是不确定的。

从以下版本开始:
JDK1.1
另请参见:
BufferedWriter, OutputStream, Charset

字段摘要
 
从类 java.io.Writer 继承的字段
lock
 
构造方法摘要
OutputStreamWriter(OutputStream out)
          创建使用默认字符编码的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, Charset cs)
          创建使用给定字符集的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
          创建使用给定字符集编码器的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName)
          创建使用指定字符集的 OutputStreamWriter。
 
方法摘要
 void close()
          关闭该流。
 void flush()
          刷新该流的缓冲。
 String getEncoding()
          返回此流使用的字符编码的名称。
 void write(char[] cbuf, int off, int len)
          写入字符数组的某一部分。
 void write(int c)
          写入单个字符。
 void write(String str, int off, int len)
          写入字符串的某一部分。
 
从类 java.io.Writer 继承的方法
append, append, append, write, write
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          String charsetName)
                   throws UnsupportedEncodingException
创建使用指定字符集的 OutputStreamWriter。

参数:
out - OutputStream
charsetName - 受支持的 charset 的名称
抛出:
UnsupportedEncodingException - 如果不支持指定的编码

OutputStreamWriter

public OutputStreamWriter(OutputStream out)
创建使用默认字符编码的 OutputStreamWriter。

参数:
out - OutputStream

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          Charset cs)
创建使用给定字符集的 OutputStreamWriter。

参数:
out - OutputStream
cs - 字符集
从以下版本开始:
1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          CharsetEncoder enc)
创建使用给定字符集编码器的 OutputStreamWriter。

参数:
out - OutputStream
enc - 字符集编码器
从以下版本开始:
1.4
方法详细信息

getEncoding

public String getEncoding()
返回此流使用的字符编码的名称。

如果此编码具有历史名称,则返回该名称;否则返回该编码的规范化名称。

如果此实例是用 OutputStreamWriter(OutputStream, String) 构造方法创建的,则返回的由此编码生成的惟一名称可能与传递给该构造方法的名称不一样。如果流已经关闭,则此方法可能返回 null

返回:
此编码的历史名称,如果流已经关闭,则可能返回 null
另请参见:
Charset

write

public void write(int c)
           throws IOException
写入单个字符。

覆盖:
Writer 中的 write
参数:
c - 指定要写入字符的 int。
抛出:
IOException - 如果发生 I/O 错误

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
写入字符数组的某一部分。

指定者:
Writer 中的 write
参数:
cbuf - 字符缓冲区
off - 开始写入字符处的偏移量
len - 要写入的字符数
抛出:
IOException - 如果发生 I/O 错误

write

public void write(String str,
                  int off,
                  int len)
           throws IOException
写入字符串的某一部分。

覆盖:
Writer 中的 write
参数:
str - 字符串
off - 开始写入字符的偏移量
len - 要写入的字符数
抛出:
IOException - 如果发生 I/O 错误

flush

public void flush()
           throws IOException
刷新该流的缓冲。

指定者:
接口 Flushable 中的 flush
指定者:
Writer 中的 flush
抛出:
IOException - 如果发生 I/O 错误

close

public void close()
           throws IOException
关闭该流。

指定者:
接口 Closeable 中的 close
指定者:
Writer 中的 close
抛出:
IOException - 如果发生 I/O 错误

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策