IO-OutputStreamWriter

如有错,望指证。

 

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' 的代理项

 

错误代理元素 指的是后面不跟低代理项的高代理项,或前面没有高代理项的低代理项。

 

此类总是使用字符集的默认替代序列 替代错误代理元素和不可映射的字符序列。如果需要更多地控制编码过程,则应该使用 CharsetEncoder 类。

 

字段摘要

从类 java.io.Writer 继承的字段

lock

构造方法摘要

OutputStreamWriter(OutputStream out)

          创建使用默认字符编码的 OutputStreamWriter。

 

OutputStreamWriter(OutputStream out, String charsetName)

          创建使用指定字符集的 OutputStreamWriter。

 

OutputStreamWriter(OutputStream out, Charset cs)

          创建使用给定字符集的 OutputStreamWriter。

 

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

          创建使用给定字符集编码器的 OutputStreamWriter。

方法摘要

void close()

         关闭此流,但要先刷新它。

 

void flush()

         刷新该流的缓冲。

 

String getEncoding()

         返回此流使用的字符编码的名称。

 

void write(int c)

         写入单个字符。

 

void write(char[] cbuf, int off, int len)

         写入字符数组的某一部分。

 

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)

创建使用默认字符编码的 OutputStreamWriter。

 

参数:

out - OutputStream

 

OutputStreamWriter

public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException

创建使用指定字符集的 OutputStreamWriter。

 

参数:

out - OutputStream

charsetName - 受支持 charset 的名称

抛出:

UnsupportedEncodingException - 如果不支持指定的编码

 

 

OutputStreamWriter

public OutputStreamWriter(OutputStream out,Charset cs)

创建使用给定字符集的 OutputStreamWriter。

参数:

out - OutputStream

cs - 字符集

 

OutputStreamWriter

public OutputStreamWriter(OutputStream out,CharsetEncoder enc)

创建使用给定字符集编码器的 OutputStreamWriter。

参数:

out - OutputStream

enc - 字符集编码器

 

getEncoding

public String getEncoding()

返回此流使用的字符编码的名称。

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

 

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

 

返回:

此编码的历史名称;如果流已经关闭,则可能返回 null:

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

从类 Writer 复制的描述

关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。

 

指定者:

接口 Closeable 中的 close

指定者:

类 Writer 中的 close

抛出:

IOException - 如果发生 I/O 错误

posted @ 2015-07-27 14:50  程序员袍子  阅读(209)  评论(0编辑  收藏  举报