ライターJ2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.io.Writer。全ての文字出力ストリームクラスのスーパークラスである。文字出力ストリームクラスの中では「出力先」に位置する。対になる入力側のクラスはReaderクラスである。全ての文字出力ストリームクラスのスーパークラス。言い換えると、Writerクラスのサブクラスは文字出力ストリームクラスである、ということになる。いったスーパークラスとしての役目だけ持つため、このクラスを直接使用することはない。このクラスのサブクラスを使用するか、もしくはサブクラスを作成して使用する。そもそも抽象クラスであるため、インスタンスを作成することはできない。基本的には、「出力先」となるクラスはこのWriterクラスのサブクラスとし、「中継ぎ」となるクラスはFilterWriterクラスのサブクラスとする。Writerクラスのサブクラスを作成する場合、まず「本当の出力先」を用意する。「本当の出力先」は「文字の並び」を格納できるものとする。StringBufferクラスやchar型配列が該当する。byte型配列への変換処理を行えばバイト出力ストリームを指定することもできる。この「一列に並べられた文字データ」を「本当の出力先」とする。他の文字出力ストリームクラスを「出力先」としてもいいが、それであればWriterクラスではなくFilterWriterクラスのサブクラスとした方がいいだろう。Writerクラスは抽象クラスであり、write()メソッドが抽象メソッドであるため、サブクラスは必ずwrite()メソッドをオーバーライドする必要がある。write()メソッドはオーバーロードされているが、他のオーバーロードされたメソッドは抽象メソッドではないのでオーバーライドする必要はない。)」メソッドを呼び出してくれるため、このメソッドにのみ処理すればよい。オーバーライドしたwrite()メソッドでは、「本当の出力先」に出力する処理を実装する。することで、渡された文字を出力することができる。write()メソッドの他に、flush()メソッドとclose()メソッドをオーバーライドする必要がある。この2つのメソッドも抽象メソッドのためである。flush()メソッドは「フラッシュ」処理を行うよう実装する。close()メソッドは「本当の出力先」を閉じる処理を行うよう実装する。出力先がファイルやソケットといった、最後に「閉じる」処理が必要な「本当の出力先」の場合には必ずclose()メソッドをオーバーライドし、使用時にはfinallyで呼び出すようにする。「出力先」のNormalWriterクラスを用意します。このクラスを対象とするPrintWriterクラスを用意します。いう形で、文字出力ストリームクラスが連結したことになります。normalWriterのwrite()メソッドを呼び出します。finally内で行います。(Javadocの仕様に書かれていないので)呼んでおきましょう。finally内で行います。NormalWriterクラス。Writerクラスのサブクラスです。write()メソッド。write()メソッドから呼び出されます。flush()メソッド。ストリームをフラッシュするために呼び出されます。close()メソッド。ストリームを閉じるために呼び出されます。「出力先」のNormalWriterクラスを用意します。このクラスを対象とするPrintWriterクラスを用意します。いう形で、文字出力ストリームクラスが連結したことになります。normalWriterのwrite()メソッドを呼び出します。finally内で行います。(Javadocの仕様に書かれていないので)呼んでおきましょう。finally内で行います。NormalWriterクラス。Writerクラスのサブクラスです。write()メソッド。write()メソッドから呼び出されます。flush()メソッド。ストリームをフラッシュするために呼び出されます。close()メソッド。ストリームを閉じるために呼び出されます。ストリームusersupdate:2005/11/11このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。詳しくは「JavaA2Z」表紙の説明をご覧ください。