JavaTM 2 Platform
Standard Ed. 6

java.io
類別 OutputStreamWriter

java.lang.Object
  繼承者 java.io.Writer
      繼承者 java.io.OutputStreamWriter
所有已實作的介面:
Closeable, Flushable, Appendable
直接已知子類別:
FileWriter

public class OutputStreamWriter
extends Writer

OutputStreamWriter 是字元串流通向位元組串流的橋樑:可使用指定的 charset 將要寫入串流中的字元編碼成位元組。它使用的字元集可以由名稱指定或顯式給定,否則將接受平臺預設的字元集。

每次調用 write() 方法都會導致在給定字元(或字元集)上調用編碼轉換器。在寫入底層輸出串流之前,得到的這些位元組將在緩衝區中累積。可以指定此緩衝區的大小,不過,預設的緩衝區對多數用途來說已足夠大。注意,傳遞給 write() 方法的字元沒有緩衝。

為了獲得最高效率,可考慮將 OutputStreamWriter 套件裝到 BufferedWriter 中,以避免頻繁調用轉換器。例如:

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

代理對 是一個字元,它由兩個 char 值序列表示: 代理項的範圍為 '\uD800' 到 '\uDBFF',後跟範圍為 '\uDC00' 到 '\uDFFF' 的 代理項。

錯誤代理元素 指的是後面不跟低代理項的高代理項,或前面沒有高代理項的低代理項。

此類別總是使用字元集的預設替代序列 替代錯誤代理元素和不可映射的字元序列。如果需要更多地控制編碼過程,則應該使用 CharsetEncoder 類別。

從以下版本開始:
JDK1.1
另請參見:
BufferedWriter, OutputStream, Charset

欄位摘要
 
從類別 java.io.Writer 繼承的欄位
lock
 
建構子摘要
OutputStreamWriter(OutputStream out)
          創建使用預設字元編碼的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, Charset cs)
          創建使用給定字元集的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
          創建使用給定字元集編碼器的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName)
          創建使用指定字元集的 OutputStreamWriter。
 
方法摘要
 void close()
          關閉此串流,但要先刷新它。
 void flush()
          刷新該串流的緩衝。
 String getEncoding()
          返回此串流使用的字元編碼的名稱。
 void write(char[] cbuf, int off, int len)
          寫入字元陣列的某一部分。
 void write(int c)
          寫入單個字元。
 void write(String str, int off, int len)
          寫入字元串的某一部分。
 
從類別 java.io.Writer 繼承的方法
append, append, append, write, write
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          String charsetName)
                   throws UnsupportedEncodingException
創建使用指定字元集的 OutputStreamWriter。

參數:
out - OutputStream
charsetName - 受支持 charset 的名稱
拋出:
UnsupportedEncodingException - 如果不支持指定的編碼

OutputStreamWriter

public OutputStreamWriter(OutputStream out)
創建使用預設字元編碼的 OutputStreamWriter。

參數:
out - OutputStream

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          Charset cs)
創建使用給定字元集的 OutputStreamWriter。

參數:
out - OutputStream
cs - 字元集
從以下版本開始:
1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream out,
                          CharsetEncoder enc)
創建使用給定字元集編碼器的 OutputStreamWriter。

參數:
out - OutputStream
enc - 字元集編碼器
從以下版本開始:
1.4
方法詳細資訊

getEncoding

public String getEncoding()
返回此串流使用的字元編碼的名稱。

如果該編碼具有歷史名稱,則返回該名稱;否則返回該編碼的規範化名稱。

如果此實例是用 OutputStreamWriter(OutputStream, String) 建構子創建的,則返回的對於編碼唯一的名稱可能與傳遞給該建構子的名稱不同。如果串流已經關閉,則此方法可能返回 null

返回:
此編碼的歷史名稱;如果串流已經關閉,則可能返回 null
另請參見:
Charset

write

public void write(int c)
           throws IOException
寫入單個字元。

覆寫:
類別 Writer 中的 write
參數:
c - 指定要寫入字元的 int。
拋出:
IOException - 如果發生 I/O 錯誤

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
寫入字元陣列的某一部分。

指定者:
類別 Writer 中的 write
參數:
cbuf - 字元緩衝區
off - 開始寫入字元處的偏移量
len - 要寫入的字元數
拋出:
IOException - 如果發生 I/O 錯誤

write

public void write(String str,
                  int off,
                  int len)
           throws IOException
寫入字元串的某一部分。

覆寫:
類別 Writer 中的 write
參數:
str - 字元串
off - 開始寫入字元處的偏移量
len - 要寫入的字元數
拋出:
IOException - 如果發生 I/O 錯誤

flush

public void flush()
           throws IOException
刷新該串流的緩衝。

指定者:
介面 Flushable 中的 flush
指定者:
類別 Writer 中的 flush
拋出:
IOException - 如果發生 I/O 錯誤

close

public void close()
           throws IOException
從類別 Writer 複製的描述
關閉此串流,但要先刷新它。在關閉該串流之後,再調用 write() 或 flush() 將導致拋出 IOException。關閉以前關閉的串流無效。

指定者:
介面 Closeable 中的 close
指定者:
類別 Writer 中的 close
拋出:
IOException - 如果發生 I/O 錯誤

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only