|
CDC 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.Writer
java.io.OutputStreamWriter
public class OutputStreamWriter
OutputStreamWriter は文字ストリームからバイトストリームへの橋渡しの役目を持ち、文字データを書き込んで、それを指定された文字エンコーディングに従ってバイトに変換します。使用されるエンコーディングは、名前で指定することも、プラットフォームのデフォルトをそのまま使うこともできます。
write() メソッドを呼び出すたびに、指定された文字に対してエンコーディングコンバータが呼び出されます。結果として得られるバイトは、バッファーに蓄積されてから基本となる出力ストリームに書き込まれます。このバッファーのサイズは指定できますが、ほとんどの場合、デフォルトのサイズで十分です。write() メソッドに渡される文字はバッファーに入らないので注意してください。
最大限に効率化するには、コンバータを頻繁に呼び出さないようにするために、次のような方法で BufferedWriter の内部に OutputStreamWriter をラップすることを考慮してください。
Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
「サロゲートペア」は、2 つの char 値によって表される文字です。\uD800 〜 \uDBFF の「上位」サロゲートと、それに続く \uDC00 〜 \uDFFF の「下位」サロゲートで構成されます。サロゲートペアによって表される文字が指定されたエンコーディングによってエンコードできない場合は、エンコーディング依存の「代替シーケンス」が出力ストリームに書き込まれます。
対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。不正なサロゲート要素を含む文字ストリームを書き込むことはできません。不正なサロゲート要素を書き込んだ場合、このクラスのインスタンスの動作は保証されません。
BufferedWriter,
OutputStream,
文字エンコーディング| フィールドの概要 |
|---|
| クラス java.io.Writer から継承されたフィールド |
|---|
lock |
| コンストラクタの概要 | |
|---|---|
OutputStreamWriter(OutputStream out)
デフォルトの文字エンコーディングを使う OutputStreamWriter を作成します。 |
|
OutputStreamWriter(OutputStream out,
String enc)
指定された文字エンコーディングを使う 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 enc)
throws UnsupportedEncodingException
out - OutputStreamenc - サポートされる文字エンコーディングの名前
UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合public OutputStreamWriter(OutputStream out)
out - OutputStream| メソッドの詳細 |
|---|
public String getEncoding()
このインスタンスが OutputStreamWriter(OutputStream, String) コンストラクタを使用して作成された場合、返されるエンコーディング名 (正規) はコンストラクタに渡されたエンコーディング名と異なることがあります。ストリームが閉じている場合は、null が返されることがあります。
注:J2ME CDC では、互換名の概念がないため、文字エンコーディングの正規名のみが返されます。使用できる文字エンコーディングの正規名のリストについては、http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html を参照してください。
null
public void write(int c)
throws IOException
Writer 内の writec - 書き込む文字を指定する int
IOException - 入出力エラーが発生した場合
public void write(char[] cbuf,
int off,
int len)
throws IOException
Writer 内の writecbuf - 文字のバッファーoff - 文字の書き込み開始オフセットlen - 書き込む文字数
IOException - 入出力エラーが発生した場合
public void write(String str,
int off,
int len)
throws IOException
Writer 内の writestr - 文字列off - 文字の書き込み開始オフセットlen - 書き込む文字数
IOException - 入出力エラーが発生した場合
public void flush()
throws IOException
Writer 内の flushIOException - 入出力エラーが発生した場合
public void close()
throws IOException
Writer 内の closeIOException - 入出力エラーが発生した場合
|
CDC 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||