W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.io.Writer
|---|---java.io.OutputStreamWriter
public class OutputStreamWriter
extends Writer
OutputStreamWriter 是從字符流到字節(jié)流的橋梁:寫入其中的字符使用指定的字符集編碼為字節(jié)。 它使用的字符集可以由名稱指定,也可以顯式給出,或者可以接受平臺的默認字符集。
每次調用 write() 方法都會導致對給定字符調用編碼轉換器。 結果字節(jié)在寫入底層輸出流之前累積在緩沖區(qū)中。 可以指定此緩沖區(qū)的大小,但默認情況下它對于大多數(shù)用途來說足夠大。 請注意,傳遞給 write() 方法的字符不會被緩沖。
為了獲得最高效率,請考慮將 OutputStreamWriter 包裝在 BufferedWriter 中,以避免頻繁的轉換器調用。 例如:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
代理項對是由兩個 char 值的序列表示的字符:在 '\uD800' 到 '\uDBFF' 范圍內的高代理項,然后是在 '\uDC00' 到 '\uDFFF' 范圍內的低代理項。
畸形的替代元素是高替代元素之后沒有低替代元素或低替代元素之前沒有高替代元素。
這個類總是用字符集的默認替換序列替換格式錯誤的代理元素和不可映射的字符序列。 當需要對編碼過程進行更多控制時,應使用 CharsetEncoder 類。
Since:
JDK1.1
從類 java.io.Writer 繼承的字段 |
---|
lock |
構造函數(shù) | 描述 |
---|---|
OutputStreamWriter(OutputStream out) | 創(chuàng)建一個使用默認字符編碼的 OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, String charsetName) | 創(chuàng)建一個使用命名字符集的 OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, Charset cs) | 創(chuàng)建一個使用給定字符集的 OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, CharsetEncoder enc) | 創(chuàng)建一個使用給定字符集編碼器的 OutputStreamWriter。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | close() | 關閉流,首先刷新它。 |
void | flush() | 沖洗流。 |
String | getEncoding() | 返回此流使用的字符編碼的名稱。 |
void | write(char[] cbuf, int off, int len) | 寫入字符數(shù)組的一部分。 |
void | write(int c) | 寫入單個字符。 |
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)建一個使用命名字符集的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
charsetName | 支持的字符集的名稱 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedEncodingException | 如果不支持命名編碼 |
public OutputStreamWriter(OutputStream out)
創(chuàng)建一個使用默認字符編碼的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
public OutputStreamWriter(OutputStream out, Charset cs)
創(chuàng)建一個使用給定字符集的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
cs | 一個字符集 |
Since:
1.4
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
創(chuàng)建一個使用給定字符集編碼器的 OutputStreamWriter。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 輸出流 |
enc | 一個字符集編碼器 |
Since:
1.4
public String getEncoding()
返回此流使用的字符編碼的名稱。
如果編碼具有歷史名稱,則返回該名稱; 否則返回編碼的規(guī)范名稱。
如果此實例是使用 OutputStreamWriter(java.io.OutputStream,java.lang.String) 構造函數(shù)創(chuàng)建的,則返回的名稱(對于編碼是唯一的)可能與傳遞給構造函數(shù)的名稱不同。 如果流已關閉,此方法可能會返回 null。
返回:
此編碼的歷史名稱,如果流已關閉,則可能為 null
public void write(int c) throws IOException
寫入單個字符。
覆蓋:
在 Writer 類中寫
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
c | int 指定要寫入的字符 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
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 錯誤 |
public void write(String str, int off, int len) throws IOException
寫入字符串的一部分。
覆蓋:
在 Writer 類中寫
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
str | 一個字符串 |
off | 開始寫入字符的偏移量 |
len | 要寫入的字符數(shù) |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public void flush() throws IOException
沖洗流。
指定者:
在接口 Flushable 中刷新
指定者:
在 Writer 類中刷新
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
public void close() throws IOException
從班級復制的描述:Writer
關閉流,首先刷新它。 一旦流被關閉,進一步的 write() 或 flush() 調用將導致拋出 IOException。 關閉以前關閉的流沒有效果。
指定者:
在接口 AutoCloseable 中關閉
指定者:
在接口Closeable中關閉
指定者:
關閉類 Writer
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: