Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.io
クラス Writer

java.lang.Object
  上位を拡張 java.io.Writer
直系の既知のサブクラス:
OutputStreamWriter

public abstract class Writer
extends Object

文字をストリーム出力するための機能の枠組みを持った抽象クラスです。 サブクラスでは最低限 write(char[], int, int) メソッドと flush() メソッドおよび close() メソッドを実装する必要があります。

導入されたバージョン:
CLDC 1.0
関連項目:
Reader

フィールドの概要
protected  Object lock
          このクラスがストリーム処理を行う際に同期を取るために使用するオブジェクトを保持しています。
 
コンストラクタの概要
protected Writer()
          自分自身をロック対象のオブジェクトに設定したオブジェクトを生成します。
protected Writer(Object lock)
          渡されたオブジェクトを同期要求に使用するように設定したオブジェクトを生成します。
 
メソッドの概要
abstract  void close()
          ストリームをクローズし、関連するリソースをすべて開放します。
abstract  void flush()
          ストリームがバッファリングを行っている場合、そのバッファに格納されている文字を直ちに書き込み先に出力します。
 void write(char[] data)
          ストリームへ指定された char 配列に格納された文字を書き込みます。
abstract  void write(char[] data, int index, int length)
          ストリームへ指定された文字数の文字を指定された char 配列の指定位置から書き込みます。
 void write(int data)
          ストリームへ文字を 1 つ書き込みます。
 void write(String data)
          ストリームへ渡された String オブジェクトが保持している文字列を書き込みます。
 void write(String data, int index, int length)
          ストリームへ渡された String オブジェクトが保持している文字列の一部を書き込みます。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

lock

protected Object lock

このクラスがストリーム処理を行う際に同期を取るために使用するオブジェクトを保持しています。 ストリーム処理で同期が必要な処理を行う場合にはこのオブジェクトに対して同期の要求を行います。 このクラスのサブクラスでも同期が必要な場合はこのオブジェクトに対して同期の要求を出すように記述しなければなりません。

     synchronized(lock) {
         // ロックが必要な処理をここに記述する。
     }

コンストラクタの詳細

Writer

protected Writer()

自分自身をロック対象のオブジェクトに設定したオブジェクトを生成します。


Writer

protected Writer(Object lock)

渡されたオブジェクトを同期要求に使用するように設定したオブジェクトを生成します。

パラメータ:
lock - 同期に使用するオブジェクトを渡します。
メソッドの詳細

write

public void write(int data)
           throws IOException

ストリームへ文字を 1 つ書き込みます。 書き込む文字は int 型で指定しますが、実際に書き込まれるのは下位 16 ビットのみです。 残りの上位 16 ビットは処理に影響しません。

このメソッドは文字の書き込みが完了するか例外が throw されるまでブロックします。

サブクラスが最適化された1文字読み出し処理をサポートできる場合はこのメソッドをオーバーライドして実装すべきです。

パラメータ:
data - 書き込む文字を渡します。
例外:
IOException - 文字の書き込み時に何らかの障害が発生した場合に throw します。

write

public void write(char[] data)
           throws IOException

ストリームへ指定された char 配列に格納された文字を書き込みます。 このメソッドは data.length が示す文字数の書き込みが完了するか、例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに書き込んだ文字は取り消されません。

Writer クラスにおけるこのメソッドは、write(data, 0, data.length) と記述するのと等価です。

パラメータ:
data - 書き込む文字を格納した char 配列を渡します。
例外:
IOException - 文字の書き込み時に何らかの障害が発生した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。

write

public abstract void write(char[] data,
                           int index,
                           int length)
                    throws IOException

ストリームへ指定された文字数の文字を指定された char 配列の指定位置から書き込みます。 このメソッドは指定文字数の書き込みが完了するか、例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに書き込んだ文字は取り消されません。

サブクラスでは必ずこのメソッドをオーバーライドして処理を記述しなければなりません。

パラメータ:
data - 書き込む文字列を格納した char 配列を渡します。
index - 書き込む文字列を格納した char 配列の書き込み開始位置を渡します。
length - 書き込む文字数を渡します。
例外:
IOException - 文字の書き込み時に何らかの障害が発生した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。
IndexOutOfBoundsException - index が負数あるいは index + lengthdata のサイズを超える場合に throw します。

write

public void write(String data)
           throws IOException

ストリームへ渡された String オブジェクトが保持している文字列を書き込みます。 このメソッドは文字列の書き込みが完了するか、例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに書き込んだ文字は取り消されません。

パラメータ:
data - 書き込む対象の文字列を持った String オブジェクトを渡します。
例外:
IOException - 文字の書き込み時に何らかの障害が発生した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。

write

public void write(String data,
                  int index,
                  int length)
           throws IOException

ストリームへ渡された String オブジェクトが保持している文字列の一部を書き込みます。 書き込まれる文字列は渡された String オブジェクトが保持する文字列の index 以降の length 文字となります。 このメソッドは文字列の書き込みが完了するか、例外が throw されるまでブロックします。

このメソッドで例外が throw されるのは以下の場合です。

これらの例外が throw された場合でも、そこまでに書き込んだ文字は取り消されません。

パラメータ:
data - 書き込む対象の文字列を持った String オブジェクトを渡します。
index - 書き込む対象の文字列の書き込み開始位置を渡します。
length - 書き込む文字列の長さを渡します。
例外:
IOException - 文字の書き込み時に何らかの障害が発生した場合に throw します。
NullPointerException - datanull が渡された場合に throw します。
IndexOutOfBoundsException - index が負数あるいは index + lengthString オブジェクトが保持する文字列のサイズを超える場合に throw します。

flush

public abstract void flush()
                    throws IOException

ストリームがバッファリングを行っている場合、そのバッファに格納されている文字を直ちに書き込み先に出力します。 また同時に書き込み先もフラッシュします。 サブクラスでバッファリングを伴う実装を行う場合はこのメソッドを適切に実装しなければなりません。

例外:
IOException - 処理に伴い、出力関係で何らかの障害が発生した場合に throw します。

close

public abstract void close()
                    throws IOException

ストリームをクローズし、関連するリソースをすべて開放します。 以後、該当するオブジェクトによるストリーム処理は一切行えません。

例外:
IOException - 処理に伴い、出力関係で何らかの障害が発生した場合に throw します。

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。