|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の 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
- 入出力エラーが発生した場合
|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。