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