public class OutputStreamWriter extends Writer
charset
。
它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。
每次调用write()方法都会使编码转换器在给定字符上被调用。 所得到的字节在写入底层输出流之前累积在缓冲区中。 可以指定此缓冲区的大小,但是默认情况下它大部分用于大多数目的。 请注意,传递给write()方法的字符不会缓冲。
为了最大的效率,请考虑在BufferedWriter中包装一个OutputStreamWriter,以避免频繁的转换器调用。 例如:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
代理对是由两个char值的序列表示的字符 :“\ uD800”到“\ uDBFF”范围内的高代理,后跟“\ uDC00”到“\ uDFFF”范围内的低代理。
一个畸形的替代元素是一个高替代品,其后没有高替代品的低替代品或低替代品。
这个类总是用字符集的默认替换序列替换格式不正确的代理元素和不可映射的字符序列 。 当需要对编码过程进行更多控制时,应使用CharsetEncoder类。
BufferedWriter
, OutputStream
, Charset
Constructor and Description |
---|
OutputStreamWriter(OutputStream out)
创建一个使用默认字符编码的OutputStreamWriter。
|
OutputStreamWriter(OutputStream out, Charset cs)
创建一个使用给定字符集的OutputStreamWriter。
|
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
创建一个使用给定字符集编码器的OutputStreamWriter。
|
OutputStreamWriter(OutputStream out, String charsetName)
创建一个使用命名字符集的OutputStreamWriter。
|
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
out
- 一个OutputStream
charsetName
- 支持的名称charset
UnsupportedEncodingException
- 如果不支持命名编码
public OutputStreamWriter(OutputStream out)
out
- 一个OutputStream
public OutputStreamWriter(OutputStream out, Charset cs)
out
- 一个OutputStream
cs
- 一个字符集
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
out
- 一个OutputStream
enc
- 字符集编码器
public String getEncoding()
如果编码具有历史名称,则返回该名称; 否则返回编码的规范名称。
如果此实例是使用OutputStreamWriter(OutputStream, String)
构造函数创建的,则返回的名称对于编码而言是唯一的,可能与传递给构造函数的名称不同。 如果流已关闭,此方法可能返回null 。
null
Charset
public void write(int c) throws IOException
write
在类别
Writer
c
- int指定要写入的字符
IOException
- 如果发生I / O错误
public void write(char[] cbuf, int off, int len) throws IOException
write
在类别
Writer
cbuf
-
cbuf
缓冲区
off
- 从中开始编写字符的偏移量
len
- 要写入的
len
数
IOException
- 如果发生I / O错误
public void write(String str, int off, int len) throws IOException
write
在类别
Writer
str
- 一个字符串
off
- 开始写入字符的偏移量
len
- 要写入的
len
数
IOException
- 如果发生I / O错误
public void flush() throws IOException
flush
在界面
Flushable
flush
在类别
Writer
IOException
- 如果发生I / O错误
public void close() throws IOException
Writer
复制
close
在界面
Closeable
close
在界面
AutoCloseable
close
在类别
Writer
IOException
- 如果发生I / O错误