- java.lang.Object
 -  
      
- java.io.Writer
 -  
        
- java.io.OutputStreamWriter
 
 
 
-  
       
- 实现的所有接口
 -  
         
Closeable,Flushable,Appendable,AutoCloseable 
- 已知直接子类:
 -  
         
FileWriter 
public class OutputStreamWriter extends Writer
OutputStreamWriter是从字符流到字节流的桥接器:使用指定的charset将写入其中的字符编码为字节。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。每次调用write()方法都会导致在给定字符上调用编码转换器。 生成的字节在写入底层输出流之前在缓冲区中累积。 请注意,传递给write()方法的字符不会被缓冲。
为了获得最高效率,请考虑在BufferedWriter中包装OutputStreamWriter,以避免频繁的转换器调用。 例如:
Writer out = new BufferedWriter(new OutputStreamWriter(System.out));代理项对是由两者的序列代表的字符
char值:在范围内的高代理“\ uD800”到“\ uDBFF”随后在范围为“\ uDFFF”一个低代理“\ uDC00”。格式错误的替代元素是高代理人,后面没有低代理人或低代理人,而代理人之前没有高代理人。
此类始终使用charset的默认替换序列替换格式错误的代理元素和不可映射的字符序列 。 当需要对编码过程进行更多控制时,应使用CharsetEncoder类。
- 从以下版本开始:
 - 1.1
 - 另请参见:
 -  
         
BufferedWriter,OutputStream,Charset 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 OutputStreamWriter(OutputStream out)创建使用默认字符编码的OutputStreamWriter。OutputStreamWriter(OutputStream out, String charsetName)创建使用指定charset的OutputStreamWriter。OutputStreamWriter(OutputStream out, Charset cs)创建使用给定charset的OutputStreamWriter。OutputStreamWriter(OutputStream out, CharsetEncoder enc)创建使用给定charset编码器的OutputStreamWriter。 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
OutputStreamWriter
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
创建使用指定charset的OutputStreamWriter。- 参数
 -  
              
out- OutputStream -  
              
charsetName- 支持的charset的名称 - 异常
 -  
              
UnsupportedEncodingException- 如果不支持指定的编码 
 
-  
OutputStreamWriter
public OutputStreamWriter(OutputStream out)
创建使用默认字符编码的OutputStreamWriter。- 参数
 -  
              
out- OutputStream 
 
-  
OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs)
创建使用给定charset的OutputStreamWriter。- 参数
 -  
              
out- OutputStream -  
              
cs- 一个字符集 - 从以下版本开始:
 - 1.4
 
 
-  
OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
创建使用给定charset编码器的OutputStreamWriter。- 参数
 -  
              
out- OutputStream -  
              
enc- 字符集编码器 - 从以下版本开始:
 - 1.4
 
 
 -  
 
-  
             
方法详细信息
-  
getEncoding
public String getEncoding()
返回此流使用的字符编码的名称。如果编码具有历史名称,则返回该名称; 否则返回编码的规范名称。
如果此实例是使用
OutputStreamWriter(OutputStream, String)构造函数创建的,则返回的名称(对于编码而言是唯一的)可能与传递给构造函数的名称不同。 如果流已关闭,则此方法可能返回null。- 结果
 - 
               此编码的历史名称,如果流已关闭,则可能为 
              
null - 另请参见:
 -  
              
Charset 
 
-  
write
public void write(int c) throws IOException写一个字符。- 重写:
 -  
              
write在类Writer - 参数
 -  
              
c- 指定要写入的字符的int - 异常
 -  
              
IOException- 如果发生I / O错误 
 
-  
write
public void write(char[] cbuf, int off, int len) throws IOException写一个字符数组的一部分。- Specified by:
 -  
              
write在课堂上Writer - 参数
 -  
              
cbuf- 字符缓冲区 -  
              
off- 开始写入字符的偏移量 -  
              
len- 要写入的字符数 - 异常
 -  
              
IndexOutOfBoundsException- 如果off为负数,或者len为负数,或者off + len为负数或大于给定数组的长度 -  
              
IOException- 如果发生I / O错误 
 
-  
write
public void write(String str, int off, int len) throws IOException
写一个字符串的一部分。- 重写:
 -  
              
write类Writer - 参数
 -  
              
str- 一个字符串 -  
              
off- 开始写入字符的偏移量 -  
              
len- 要写入的字符数 - 异常
 -  
              
IndexOutOfBoundsException- 如果off为负数,或者len为负数,或者off + len为负数或大于给定字符串的长度 -  
              
IOException- 如果发生I / O错误 
 
-  
flush
public void flush() throws IOException刷新流。- Specified by:
 -  
              
flushin interfaceFlushable - Specified by:
 -  
              
flush在类Writer - 异常
 -  
              
IOException- 如果发生I / O错误 
 
 -  
 
 -