W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
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ù) | 描述 |
---|---|
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。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
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 |
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
創(chuàng)建一個(gè)使用命名字符集的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
charsetName | 支持的字符集的名稱 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedEncodingException | 如果不支持命名編碼 |
public OutputStreamWriter(OutputStream out)
創(chuàng)建一個(gè)使用默認(rèn)字符編碼的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
public OutputStreamWriter(OutputStream out, Charset cs)
創(chuàng)建一個(gè)使用給定字符集的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
cs | 一個(gè)字符集 |
Since:
1.4
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
創(chuàng)建一個(gè)使用給定字符集編碼器的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
enc | 一個(gè)字符集編碼器 |
Since:
1.4
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
public void write(int c) throws IOException
寫入單個(gè)字符。
覆蓋:
在 Writer 類中寫
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
c | int 指定要寫入的字符 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
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ò)誤 |
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ò)誤 |
public void flush() throws IOException
沖洗流。
指定者:
在接口 Flushable 中刷新
指定者:
在 Writer 類中刷新
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯(cuò)誤 |
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ò)誤 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: