public class OutputStreamWriter extends Writer
charset
を使用してバイトにエンコードされます。使用される文字セットは、名前で指定することも、明示的に渡すことも、またはプラットフォームのデフォルトの文字セットをそのまま使うこともできます。
write() メソッドを呼び出すたびに、指定された文字に対してエンコーディングコンバータが呼び出されます。結果として得られるバイトは、バッファーに蓄積されてからベースとなる出力ストリームに書き込まれます。このバッファーのサイズは指定できますが、ほとんどの場合、デフォルトのサイズで十分です。write() メソッドに渡される文字はバッファーに入らないので注意してください。
最大限に効率化するには、コンバータを頻繁に呼び出さないようにするために BufferedWriter の内部に OutputStreamWriter をラップすることを考慮してください。例を示します。
Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
「サロゲートペア」は、2 つの char 値によって表される文字です。\uD800 から \uDBFF の「上位」サロゲートと、それに続く \uDC00 から \uDFFF の「下位」サロゲートで構成されます。
対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。
このクラスは、不正なサロゲート要素やマップ不可文字シーケンスを、常に文字セットのデフォルトの代替シーケンスで置き換えます。エンコード処理をより強力に制御する必要がある場合は、CharsetEncoder クラスを使用してください。
BufferedWriter
、OutputStream
、Charset
コンストラクタと説明 |
---|
OutputStreamWriter(OutputStream out)
デフォルトの文字セットを使う OutputStreamWriter を作成します。
|
OutputStreamWriter(OutputStream out, Charset cs)
与えられた文字セットを使う OutputStreamWriter を作成します。
|
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
与えられた文字セットエンコーダを使う OutputStreamWriter を作成します。
|
OutputStreamWriter(OutputStream out, String charsetName)
指定された文字セットを使う OutputStreamWriter を作成します。
|
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
out
- OutputStreamcharsetName
- サポートされている
charset
の名前UnsupportedEncodingException
- 指定されたエンコーディングがサポートされていない場合public OutputStreamWriter(OutputStream out)
out
- OutputStreampublic OutputStreamWriter(OutputStream out, Charset cs)
out
- OutputStreamcs
- charsetpublic OutputStreamWriter(OutputStream out, CharsetEncoder enc)
out
- OutputStreamenc
- 文字セットエンコーダpublic String getEncoding()
エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの正規名を返します。
このインスタンスが OutputStreamWriter(OutputStream, String)
コンストラクタを使用して作成された場合、返される名前はエンコーディングに対して一意となり、そのコンストラクタに渡された名前とは異なることがあります。ストリームが閉じられた場合、このメソッドは null を返すことがあります。
null
Charset
public void write(int c) throws IOException
write
、クラス: Writer
c
- 書き込まれる文字を指定する intIOException
- 入出力エラーが発生した場合public void write(char[] cbuf, int off, int len) throws IOException
write
、クラス: Writer
cbuf
- 文字のバッファーoff
- 文字の書き込み開始オフセットlen
- 書き込む文字数IOException
- 入出力エラーが発生した場合public void write(String str, int off, int len) throws IOException
write
、クラス: Writer
str
- 文字列off
- 文字の書き込み開始オフセットlen
- 書き込む文字数IOException
- 入出力エラーが発生した場合public void flush() throws IOException
flush
、インタフェース: Flushable
flush
、クラス: Writer
IOException
- 入出力エラーが発生した場合public void close() throws IOException
Writer
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: Writer
IOException
- 入出力エラーが発生した場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.