|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.io.Writer | +--java.io.OutputStreamWriter
OutputStreamWriter は、文字ストリームからバイトストリームへの橋渡しの役目を持ちます。バイトストリームに書き込まれた文字は、指定された
を使用してバイトに符号化されます。使用する文字エンコーディングは、名前で指定するか、明示的に渡すか、またはプラットフォームのデフォルトの文字エンコーディングをそのまま使うこともできます。
charset
write() メソッドを呼び出すたびに、指定された文字に対してエンコーディングコンバータが呼び出されます。結果として生成されたバイトは、バッファに蓄積されてから基本となる出力ストリームに書き込まれます。このバッファのサイズは指定できますが、ほとんどの場合、デフォルトのサイズで十分です。write() メソッドに渡される文字はバッファに入らないので注意してください。
最大限に効率化するには、コンバータを頻繁に呼び出さないようにするために BufferedWriter の内部に OutputStreamWriter をラップするように考慮してください。次に例を示します
Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
「サロゲートペア」は、2 つの char 値によって表される文字で、\uD800 〜 \uDBFF の「上位」サロゲートと \uDC00 〜 \uDFFF の「下位」サロゲートから構成されます。サロゲートペアによって表される文字が指定された文字エンコーディングによって変換できない場合は、文字エンコーディング依存の「代替シーケンス」が出力ストリームに書き込まれます。
対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。不正なサロゲート要素を含む文字ストリームは書き込まないでください。不正なサロゲート要素を書き込んだ場合、このクラスのインスタンスの動作は保証されません。
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 から継承したメソッド |
write, write |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
out
- OutputStreamcharsetName
- サポートされる charset
の名前
UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合public OutputStreamWriter(OutputStream out)
out
- OutputStreampublic OutputStreamWriter(OutputStream out, Charset cs)
out
- OutputStreampublic OutputStreamWriter(OutputStream out, CharsetEncoder enc)
out
- OutputStreamenc
- 文字エンコーディングエンコーダメソッドの詳細 |
public String getEncoding()
エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの標準名を返します。
このインスタンスが OutputStreamWriter(OutputStream, String)
コンストラクタを使用して作成されている場合、そのコンストラクタに渡された名前ではなく、エンコーディングの一意名が返されます。このメソッドは、ストリームが閉じている場合、null を返すことがあります。
null
Charset
public void write(int c) throws IOException
Writer
内の write
c
- 書き込む文字を指定する int
IOException
- 入出力エラーが発生した場合public void write(char[] cbuf, int off, int len) throws IOException
Writer
内の write
cbuf
- 文字のバッファoff
- 文字の書き込み開始オフセットlen
- 書き込む文字数
IOException
- 入出力エラーが発生した場合public void write(String str, int off, int len) throws IOException
Writer
内の write
str
- 文字列off
- 文字の書き込み開始オフセットlen
- 書き込む文字数
IOException
- 入出力エラーが発生した場合public void flush() throws IOException
Writer
内の flush
IOException
- 入出力エラーが発生した場合public void close() throws IOException
Writer
内の close
IOException
- 入出力エラーが発生した場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.