| |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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
- OutputStreamcharsetName
- 受支持的charset
的名称
- 抛出:
UnsupportedEncodingException
- 如果不支持指定的编码
OutputStreamWriter
public OutputStreamWriter(OutputStream out)
- 创建使用默认字符编码的 OutputStreamWriter。
- 参数:
out
- OutputStream
OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs)
- 创建使用给定字符集的 OutputStreamWriter。
- 参数:
out
- OutputStreamcs
- 字符集- 从以下版本开始:
- 1.4
OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
- 创建使用给定字符集编码器的 OutputStreamWriter。
- 参数:
out
- OutputStreamenc
- 字符集编码器- 从以下版本开始:
- 1.4
方法详细信息 |
---|
getEncoding
public String getEncoding()
- 返回此流使用的字符编码的名称。
如果此编码具有历史名称,则返回该名称;否则返回该编码的规范化名称。
如果此实例是用
OutputStreamWriter(OutputStream, String)
构造方法创建的,则返回的由此编码生成的惟一名称可能与传递给该构造方法的名称不一样。如果流已经关闭,则此方法可能返回 null。 - 返回:
- 此编码的历史名称,如果流已经关闭,则可能返回
null
- 另请参见:
Charset
write
public void write(int c) throws IOException
- 写入单个字符。
- 参数:
c
- 指定要写入字符的 int。- 抛出:
IOException
- 如果发生 I/O 错误
write
public void write(char[] cbuf, int off, int len) throws IOException
- 写入字符数组的某一部分。
- 参数:
cbuf
- 字符缓冲区off
- 开始写入字符处的偏移量len
- 要写入的字符数- 抛出:
IOException
- 如果发生 I/O 错误
write
public void write(String str, int off, int len) throws IOException
- 写入字符串的某一部分。
- 参数:
str
- 字符串off
- 开始写入字符的偏移量len
- 要写入的字符数- 抛出:
IOException
- 如果发生 I/O 错误