- すべての実装されたインタフェース:
Closeable
,Flushable
,Appendable
,AutoCloseable
- 直系の既知のサブクラス:
FileWriter
charset
を使用してバイトにエンコードされます。 使用する文字セットは、名前で指定することも、明示的に指定することも、デフォルトの文字セットを受け入れることもできます。
write()メソッドを呼び出すたびに、指定された文字に対してエンコーディング・コンバータが呼び出されます。 結果として得られるバイトは、バッファに蓄積されてからベースとなる出力ストリームに書き込まれます。 write()メソッドに渡される文字はバッファに入らないので注意してください。
最大限に効率化するには、コンバータを頻繁に呼び出さないようにするためにBufferedWriterの内部にOutputStreamWriterをラップすることを考慮してください。 たとえば、
Writer out = new BufferedWriter(new OutputStreamWriter(anOutputStream));
「サロゲート・ペア」は、2つのchar
値のシーケンスで表される文字です: \uD800'から\uDBFF'の範囲のhighサロゲート、続いて\uDC00'から\uDFFF'.の範囲のlowサロゲート
対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。
このクラスは、不正なサロゲート要素やマップ不可文字シーケンスを、常に文字セットのデフォルトの代替シーケンスで置き換えます。 エンコード処理をより強力に制御する必要がある場合は、CharsetEncoderクラスを使用してください。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタ説明デフォルトの文字エンコーディングを使用するOutputStreamWriterを作成します。out
はPrintStream
で、印刷ストリームで使用される文字セットです。OutputStreamWriter
(OutputStream out, String charsetName) 指定された文字セットを使うOutputStreamWriterを作成します。OutputStreamWriter
(OutputStream out, Charset cs) 与えられた文字セットを使うOutputStreamWriterを作成します。OutputStreamWriter
(OutputStream out, CharsetEncoder enc) 与えられた文字セット・エンコーダを使うOutputStreamWriterを作成します。 -
メソッドのサマリー
-
コンストラクタの詳細
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使うOutputStreamWriterを作成します。- パラメータ:
out
- OutputStreamcharsetName
- サポートされているcharset
の名前- 例外:
UnsupportedEncodingException
- 指定されたエンコーディングがサポートされていない場合
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out) デフォルトの文字エンコーディングを使用するOutputStreamWriterを作成します。out
はPrintStream
で、印刷ストリームで使用される文字セットです。- パラメータ:
out
- OutputStream- 関連項目:
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs) 与えられた文字セットを使うOutputStreamWriterを作成します。- パラメータ:
out
- OutputStreamcs
- charset- 導入されたバージョン:
- 1.4
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc) 与えられた文字セット・エンコーダを使うOutputStreamWriterを作成します。- パラメータ:
out
- OutputStreamenc
- 文字セット・エンコーダ- 導入されたバージョン:
- 1.4
-
-
メソッドの詳細
-
getEncoding
public String getEncoding()このストリームで使用される文字エンコーディングの名前を返します。エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの正規名を返します。
このインスタンスが
OutputStreamWriter(OutputStream, String)
コンストラクタを使用して作成された場合、返される名前はエンコーディングに対して一意となり、そのコンストラクタに渡された名前とは異なることがあります。 ストリームがクローズされている場合、このメソッドはnull
を返します。- 戻り値:
- このエンコーディングの互換名。ストリームが閉じている場合は
null
- 関連項目:
-
write
public void write(int c) throws IOException 単一の文字を書き込みます。- オーバーライド:
write
、クラスWriter
- パラメータ:
c
- 書き込まれる文字を指定するint- 例外:
IOException
- 入出力エラーが発生した場合
-
write
public void write(char[] cbuf, int off, int len) throws IOException 文字の配列の一部を書き込みます。- 定義:
write
、クラスWriter
- パラメータ:
cbuf
- 文字のバッファoff
- 文字の書込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはoff + len
が負の場合、または指定された配列の長さより大きい場合IOException
- 入出力エラーが発生した場合
-
write
public void write(String str, int off, int len) throws IOException 文字列の一部を書き込みます。- オーバーライド:
write
、クラスWriter
- パラメータ:
str
- 文字列off
- 文字の書込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはoff + len
が負の場合、または指定された文字列の長さより大きい場合IOException
- 入出力エラーが発生した場合
-
flush
public void flush() throws IOExceptionストリームをフラッシュします。- 定義:
flush
、インタフェースFlushable
- 定義:
flush
、クラスWriter
- 例外:
IOException
- 入出力エラーが発生した場合
-
close
public void close() throws IOException次のクラスからコピーされた説明:Writer
ストリームを最初にフラッシュして、閉じます。 ストリームが閉じられたあとにwrite()またはflush()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 定義:
close
、クラスWriter
- 例外:
IOException
- 入出力エラーが発生した場合
-