Most visited

Recently visited

Added in API level 1

OutputStreamWriter

public class OutputStreamWriter
extends Writer

java.lang.Object
   ↳ java.io.Writer
     ↳ java.io.OutputStreamWriter
Known Direct Subclasses


OutputStreamWriter是从字符流到字节流的桥梁:写入它的字符使用指定的charset编码为字节。 它使用的字符集可以用名字指定,也可以明确给出,或者可以接受平台的默认字符集。

write()方法的每次调用都会导致编码转换器在给定字符上被调用。 生成的字节在写入底层输出流之前会在缓冲区中累积。 这个缓冲区的大小可以被指定,但是默认情况下它对于大多数目的来说足够大。 请注意,传递给write()方法的字符不会被缓冲。

为了获得最高效率,可以考虑在BufferedWriter中封装一个OutputStreamWriter,以避免频繁的转换器调用。 例如:

 Writer out
   = new BufferedWriter(new OutputStreamWriter(System.out));
 

代理对是由两个 char值序列表示的字符:'\ uD800'至'\ uDBFF'范围内的 代理项,后跟'\ uDC00'至'\ uDFFF'范围内的 代理项。

一个 畸形的代理元素是一个高代理人,而不是低代理人或低代理人之前没有高代理人。

该类始终用字符集的默认替换序列替换畸形的替代元素和不可映射的字符序列 当需要对编码过程进行更多控制时,应该使用CharsetEncoder类。

也可以看看:

Summary

Inherited fields

From class java.io.Writer

Public constructors

OutputStreamWriter(OutputStream out, String charsetName)

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

OutputStreamWriter(OutputStream out)

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

OutputStreamWriter(OutputStream out, Charset cs)

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

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

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

Public methods

void close()

关闭小溪,首先冲洗它。

void flush()

刷新流。

String getEncoding()

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

void write(int c)

写一个字符。

void write(String str, int off, int len)

写入一部分字符串。

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

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

Inherited methods

From class java.io.Writer
From class java.lang.Object
From interface java.lang.Appendable
From interface java.io.Closeable
From interface java.io.Flushable
From interface java.lang.AutoCloseable

Public constructors

OutputStreamWriter

Added in API level 1
OutputStreamWriter (OutputStream out, 
                String charsetName)

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

Parameters
out OutputStream: An OutputStream
charsetName String: The name of a supported charset
Throws
UnsupportedEncodingException If the named encoding is not supported

OutputStreamWriter

Added in API level 1
OutputStreamWriter (OutputStream out)

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

Parameters
out OutputStream: An OutputStream

OutputStreamWriter

Added in API level 1
OutputStreamWriter (OutputStream out, 
                Charset cs)

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

Parameters
out OutputStream: An OutputStream
cs Charset: A charset

OutputStreamWriter

Added in API level 1
OutputStreamWriter (OutputStream out, 
                CharsetEncoder enc)

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

Parameters
out OutputStream: An OutputStream
enc CharsetEncoder: A charset encoder

Public methods

close

Added in API level 1
void close ()

关闭小溪,首先冲洗它。 一旦流被关闭,进一步的write()或flush()调用将导致抛出IOException异常。 关闭以前关闭的流不起作用。

Throws
IOException

flush

Added in API level 1
void flush ()

刷新流。

Throws
IOException If an I/O error occurs

getEncoding

Added in API level 1
String getEncoding ()

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

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

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

Returns
String The historical name of this encoding, or possibly null if the stream has been closed

也可以看看:

write

Added in API level 1
void write (int c)

写一个字符。

Parameters
c int: int specifying a character to be written
Throws
IOException If an I/O error occurs

write

Added in API level 1
void write (String str, 
                int off, 
                int len)

写入一部分字符串。

Parameters
str String: A String
off int: Offset from which to start writing characters
len int: Number of characters to write
Throws
IOException If an I/O error occurs

write

Added in API level 1
void write (char[] cbuf, 
                int off, 
                int len)

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

Parameters
cbuf char: Buffer of characters
off int: Offset from which to start writing characters
len int: Number of characters to write
Throws
IOException If an I/O error occurs

Hooray!