モジュール java.base
パッケージ java.io

クラスOutputStreamWriter

java.lang.Object
java.io.Writer
java.io.OutputStreamWriter
すべての実装されたインタフェース:
Closeable, Flushable, Appendable, AutoCloseable
直系の既知のサブクラス:
FileWriter

public class OutputStreamWriter extends Writer
OutputStreamWriterは、文字ストリームからバイト・ストリームへの橋渡しの役目を持ちます。それに書き込まれた文字は、指定されたcharsetを使用してバイトにエンコードされます。 使用する文字セットは、名前で指定することも、明示的に指定することも、デフォルトの文字セットを受け入れることもできます。

write()メソッドを呼び出すたびに、指定された文字に対してエンコーディング・コンバータが呼び出されます。 結果として得られるバイトは、バッファに蓄積されてからベースとなる出力ストリームに書き込まれます。 write()メソッドに渡される文字はバッファに入らないので注意してください。

最大限に効率化するには、コンバータを頻繁に呼び出さないようにするためにBufferedWriterの内部にOutputStreamWriterをラップすることを考慮してください。 たとえば、

    Writer out = new BufferedWriter(new OutputStreamWriter(anOutputStream));

「サロゲート・ペア」は、2つのchar値のシーケンスで表される文字です: \uD800'から\uDBFF'の範囲のhighサロゲート、続いて\uDC00'から\uDFFF'.の範囲のlowサロゲート

対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。

このクラスは、不正なサロゲート要素やマップ不可文字シーケンスを、常に文字セットのデフォルトの代替シーケンスで置き換えます。 エンコード処理をより強力に制御する必要がある場合は、CharsetEncoderクラスを使用してください。

導入されたバージョン:
1.1
関連項目: