クラスOutputStreamWriter
- すべての実装されたインタフェース:
Closeable, Flushable, Appendable, AutoCloseable
- 直系の既知のサブクラス:
FileWriter
charsetを使用してバイトにエンコードされます。 使用する文字セットは、名前で指定することも、明示的に指定することも、デフォルトの文字セットを受け入れることもできます。
write()メソッドを呼び出すたびに、指定された文字に対してエンコーディング・コンバータが呼び出されます。 結果として得られるバイトは、バッファに蓄積されてからベースとなる出力ストリームに書き込まれます。 write()メソッドに渡される文字はバッファに入らないので注意してください。
最大限に効率化するには、コンバータを頻繁に呼び出さないようにするためにBufferedWriterの内部にOutputStreamWriterをラップすることを考慮してください。 たとえば、
Writer out = new BufferedWriter(new OutputStreamWriter(anOutputStream));
「サロゲート・ペア」は、2つのchar値のシーケンスで表される文字です: \uD800'から\uDBFF'の範囲のhighサロゲート、続いて\uDC00'から\uDFFF'.の範囲のlowサロゲート
対応する下位サロゲートがない上位サロゲート、または対応する上位サロゲートがない下位サロゲートは、「不正なサロゲート要素」と呼ばれます。
このクラスは、不正なサロゲート要素やマップ不可文字シーケンスを、常に文字セットのデフォルトの代替シーケンスで置き換えます。 エンコード処理をより強力に制御する必要がある場合は、CharsetEncoderクラスを使用してください。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルトの文字エンコーディングを使用するOutputStreamWriterを作成します。outはPrintStreamで、印刷ストリームで使用される文字セットです。OutputStreamWriter(OutputStream out, String charsetName) 指定された文字セットを使うOutputStreamWriterを作成します。OutputStreamWriter(OutputStream out, Charset cs) 与えられた文字セットを使うOutputStreamWriterを作成します。OutputStreamWriter(OutputStream out, CharsetEncoder enc) 与えられた文字セット・エンコーダを使うOutputStreamWriterを作成します。 -
メソッドのサマリー
クラスWriterで宣言されたメソッド
append, append, append, nullWriter, write, write修飾子と型メソッド説明append(char c) 指定された文字をこのライターに追加します。append(CharSequence csq) 指定された文字シーケンスをこのライターに追加します。append(CharSequence csq, int start, int end) 指定された文字シーケンスのサブシーケンスをこのライターに追加します。static Writerすべての文字を破棄する新規Writerを返します。voidwrite(char[] cbuf) 文字の配列を書き込みます。void文字列を書き込みます。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使うOutputStreamWriterを作成します。- パラメータ:
out- OutputStreamcharsetName- サポートされているcharsetの名前- スロー:
UnsupportedEncodingException- 指定されたエンコーディングがサポートされていない場合
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out) デフォルトの文字エンコーディングを使用するOutputStreamWriterを作成します。outはPrintStreamで、印刷ストリームで使用される文字セットです。- パラメータ:
out- OutputStream- 関連項目:
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs) 与えられた文字セットを使うOutputStreamWriterを作成します。- パラメータ:
out- OutputStreamcs- charset- 導入されたバージョン:
- 1.4
-
OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc) 与えられた文字セット・エンコーダを使うOutputStreamWriterを作成します。- パラメータ:
out- OutputStreamenc- 文字セット・エンコーダ- 導入されたバージョン:
- 1.4
-
-
メソッドの詳細
-
getEncoding
public String getEncoding()このストリームで使用される文字エンコーディングの名前を返します。エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの正規名を返します。
このインスタンスが
OutputStreamWriter(OutputStream, String)コンストラクタを使用して作成された場合、返される名前はエンコーディングに対して一意となり、そのコンストラクタに渡された名前とは異なることがあります。 ストリームがクローズされている場合、このメソッドはnullを返します。- 戻り値:
- このエンコーディングの互換名。ストリームが閉じている場合は
null - 関連項目:
-
write
public void write(int c) throws IOException 単一の文字を書き込みます。- オーバーライド:
write、クラスWriter- パラメータ:
c- 書き込まれる文字を指定するint- スロー:
IOException- 入出力エラーが発生した場合
-
write
public void write(char[] cbuf, int off, int len) throws IOException 文字の配列の一部を書き込みます。- 定義:
write、クラスWriter- パラメータ:
cbuf- 文字のバッファoff- 文字の書込み開始オフセットlen- 書き込む文字数- スロー:
IndexOutOfBoundsException-offが負の場合、またはlenが負の場合、またはoff + lenが負の場合、または指定された配列の長さより大きい場合IOException- 入出力エラーが発生した場合
-
write
public void write(String str, int off, int len) throws IOException 文字列の一部を書き込みます。- オーバーライド:
write、クラスWriter- パラメータ:
str- 文字列off- 文字の書込み開始オフセットlen- 書き込む文字数- スロー:
IndexOutOfBoundsException-offが負の場合、またはlenが負の場合、またはoff + lenが負の場合、または指定された文字列の長さより大きい場合IOException- 入出力エラーが発生した場合
-
flush
public void flush() throws IOExceptionストリームをフラッシュします。- 定義:
flush、インタフェースFlushable- 定義:
flush、クラスWriter- スロー:
IOException- 入出力エラーが発生した場合
-
close
public void close() throws IOException次のクラスからコピーされた説明:Writerストリームを最初にフラッシュして、閉じます。 ストリームが閉じられたあとにwrite()またはflush()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close、インタフェースAutoCloseable- 定義:
close、インタフェースCloseable- 定義:
close、クラスWriter- スロー:
IOException- 入出力エラーが発生した場合
-