鴻蒙OS OutputStreamWriter

2022-10-24 10:46 更新

OutputStreamWriter

java.lang.Object

|---java.io.Writer

|---|---java.io.OutputStreamWriter

public class OutputStreamWriter
extends Writer

OutputStreamWriter 是從字符流到字節(jié)流的橋梁:寫入其中的字符使用指定的字符集編碼為字節(jié)。 它使用的字符集可以由名稱指定,也可以顯式給出,或者可以接受平臺(tái)的默認(rèn)字符集。

每次調(diào)用 write() 方法都會(huì)導(dǎo)致對(duì)給定字符調(diào)用編碼轉(zhuǎn)換器。 結(jié)果字節(jié)在寫入底層輸出流之前累積在緩沖區(qū)中。 可以指定此緩沖區(qū)的大小,但默認(rèn)情況下它對(duì)于大多數(shù)用途來(lái)說(shuō)足夠大。 請(qǐng)注意,傳遞給 write() 方法的字符不會(huì)被緩沖。

為了獲得最高效率,請(qǐng)考慮將 OutputStreamWriter 包裝在 BufferedWriter 中,以避免頻繁的轉(zhuǎn)換器調(diào)用。 例如:

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

代理項(xiàng)對(duì)是由兩個(gè) char 值的序列表示的字符:在 '\uD800' 到 '\uDBFF' 范圍內(nèi)的高代理項(xiàng),然后是在 '\uDC00' 到 '\uDFFF' 范圍內(nèi)的低代理項(xiàng)。

畸形的替代元素是高替代元素之后沒有低替代元素或低替代元素之前沒有高替代元素。

這個(gè)類總是用字符集的默認(rèn)替換序列替換格式錯(cuò)誤的代理元素和不可映射的字符序列。 當(dāng)需要對(duì)編碼過(guò)程進(jìn)行更多控制時(shí),應(yīng)使用 CharsetEncoder 類。

Since:

JDK1.1

字段摘要

從類 java.io.Writer 繼承的字段
lock

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
OutputStreamWriter(OutputStream out) 創(chuàng)建一個(gè)使用默認(rèn)字符編碼的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName) 創(chuàng)建一個(gè)使用命名字符集的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, Charset cs) 創(chuàng)建一個(gè)使用給定字符集的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, CharsetEncoder enc) 創(chuàng)建一個(gè)使用給定字符集編碼器的 OutputStreamWriter。

方法總結(jié)

修飾符和類型 方法 描述
void close() 關(guān)閉流,首先刷新它。
void flush() 沖洗流。
String getEncoding() 返回此流使用的字符編碼的名稱。
void write(char[] cbuf, int off, int len) 寫入字符數(shù)組的一部分。
void write(int c) 寫入單個(gè)字符。
void write(String str, int off, int len) 寫入字符串的一部分。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
從類 java.io.Writer 繼承的方法
append, append, append, write, write

構(gòu)造函數(shù)詳細(xì)信息

OutputStreamWriter

public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException

創(chuàng)建一個(gè)使用命名字符集的 OutputStreamWriter。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸出流
charsetName 支持的字符集的名稱

Throws:

Throw名稱 Throw描述
UnsupportedEncodingException 如果不支持命名編碼

OutputStreamWriter

public OutputStreamWriter(OutputStream out)

創(chuàng)建一個(gè)使用默認(rèn)字符編碼的 OutputStreamWriter。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸出流

OutputStreamWriter

public OutputStreamWriter(OutputStream out, Charset cs)

創(chuàng)建一個(gè)使用給定字符集的 OutputStreamWriter。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸出流
cs 一個(gè)字符集

Since:

1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream out, CharsetEncoder enc)

創(chuàng)建一個(gè)使用給定字符集編碼器的 OutputStreamWriter。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 輸出流
enc 一個(gè)字符集編碼器

Since:

1.4

方法詳情

getEncoding

public String getEncoding()

返回此流使用的字符編碼的名稱。

如果編碼具有歷史名稱,則返回該名稱; 否則返回編碼的規(guī)范名稱。

如果此實(shí)例是使用 OutputStreamWriter(java.io.OutputStream,java.lang.String) 構(gòu)造函數(shù)創(chuàng)建的,則返回的名稱(對(duì)于編碼是唯一的)可能與傳遞給構(gòu)造函數(shù)的名稱不同。 如果流已關(guān)閉,此方法可能會(huì)返回 null。

返回:

此編碼的歷史名稱,如果流已關(guān)閉,則可能為 null

write

public void write(int c) throws IOException

寫入單個(gè)字符。

覆蓋:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
c int 指定要寫入的字符

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

write

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

寫入字符數(shù)組的一部分。

指定者:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
cbuf 字符緩沖區(qū)
off 開始寫入字符的偏移量
len 要寫入的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

write

public void write(String str, int off, int len) throws IOException

寫入字符串的一部分。

覆蓋:

在 Writer 類中寫

參數(shù):

參數(shù)名稱 參數(shù)描述
str 一個(gè)字符串
off 開始寫入字符的偏移量
len 要寫入的字符數(shù)

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

flush

public void flush() throws IOException

沖洗流。

指定者:

在接口 Flushable 中刷新

指定者:

在 Writer 類中刷新

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤

close

public void close() throws IOException

從班級(jí)復(fù)制的描述:Writer

關(guān)閉流,首先刷新它。 一旦流被關(guān)閉,進(jìn)一步的 write() 或 flush() 調(diào)用將導(dǎo)致拋出 IOException。 關(guān)閉以前關(guān)閉的流沒有效果。

指定者:

在接口 AutoCloseable 中關(guān)閉

指定者:

在接口Closeable中關(guān)閉

指定者:

關(guān)閉類 Writer

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)