JavaTM 2 Platform
Std. Ed. v1.3

java.io
クラス Reader

java.lang.Object
  |
  +--java.io.Reader
直系の既知のサブクラス:
BufferedReader, CharArrayReader, FilterReader, InputStreamReader, PipedReader, StringReader

public abstract class Reader
extends Object

文字ストリームを読み込むための抽象クラスです。サブクラスで実装する必要のあるメソッドは、read(char[], int, int) と close() だけです。ただし、ほとんどのサブクラスでは、効率を良くするかまたは機能を追加する (またはその両方) ために、ここで定義するメソッドの一部をオーバーライドします。

導入されたバージョン:
JDK1.1
関連項目:
BufferedReader, LineNumberReader, CharArrayReader, InputStreamReader, FileReader, FilterReader, PushbackReader, PipedReader, StringReader, Writer

フィールドの概要
protected  Object lock
          このストリームで操作を同期させるのに使うオブジェクトです。
 
コンストラクタの概要
protected Reader()
          そのクリティカルなセクションがリーダ自体で同期する、新しい文字ストリームリーダを作成します。
protected Reader(Object lock)
          そのクリティカルなセクションが指定されたオブジェクトで同期する、新しい文字ストリームリーダを作成します。
 
メソッドの概要
abstract  void close()
          ストリームを閉じます。
 void mark(int readAheadLimit)
          ストリームの現在の位置にマークを設定します。
 boolean markSupported()
          このストリームが mark() オペレーションをサポートするかどうかを判定します。
 int read()
          単一文字を読み込みます。
 int read(char[] cbuf)
          配列に文字を読み込みます。
abstract  int read(char[] cbuf, int off, int len)
          配列の一部に文字を読み込みます。
 boolean ready()
          このストリームが読み込み可能かどうかを判定します。
 void reset()
          ストリームをリセットします。
 long skip(long n)
          文字をスキップします。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

lock

protected Object lock
このストリームで操作を同期させるのに使うオブジェクトです。効率を良くするため、文字ストリームオブジェクトでは、ほかのオブジェクトを使ってクリティカルセクションを保護することができます。そのため、サブクラスでは、this や同期メソッドではなく、このフィールドのオブジェクトを使用します。
コンストラクタの詳細

Reader

protected Reader()
そのクリティカルなセクションがリーダ自体で同期する、新しい文字ストリームリーダを作成します。

Reader

protected Reader(Object lock)
そのクリティカルなセクションが指定されたオブジェクトで同期する、新しい文字ストリームリーダを作成します。
パラメータ:
lock - 同期するオブジェクト
メソッドの詳細

read

public int read()
         throws IOException
単一文字を読み込みます。このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。

有効な単一文字の入力をサポートするためのサブクラスでは、このメソッドをオーバーライドします。

戻り値:
0 〜 65535 (0x00-0xffff) の範囲の整数としての、読み込まれた文字。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合

read

public int read(char[] cbuf)
         throws IOException
配列に文字を読み込みます。このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。
パラメータ:
cbuf - 転送先バッファ
戻り値:
読み込まれた文字数。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合

read

public abstract int read(char[] cbuf,
                         int off,
                         int len)
                  throws IOException
配列の一部に文字を読み込みます。このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。
パラメータ:
cbuf - 転送先バッファ
off - 文字の格納開始オフセット
len - 読み込む文字の最大数
戻り値:
読み込まれた文字数。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合

skip

public long skip(long n)
          throws IOException
文字をスキップします。このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。
パラメータ:
n - スキップする文字数
戻り値:
実際にスキップした文字数
例外:
IllegalArgumentException - n が負の値の場合
IOException - 入出力エラーが発生した場合

ready

public boolean ready()
              throws IOException
このストリームが読み込み可能かどうかを判定します。
戻り値:
次の read() が入力をブロックしないのが確実な場合は true、そうでない場合は false。false が返されても、次の読み込みが確実にブロックするというわけでない
例外:
IOException - 入出力エラーが発生した場合

markSupported

public boolean markSupported()
このストリームが mark() オペレーションをサポートするかどうかを判定します。デフォルト実装は常に false を返します。サブクラスはこのメソッドをオーバーライドします
戻り値:
このストリームが mark オペレーションをサポートする場合に限り true

mark

public void mark(int readAheadLimit)
          throws IOException
ストリームの現在の位置にマークを設定します。以降の reset() の呼び出しでは、ストリームをこの位置に配置しようとします。すべての文字入力ストリームで mark() オペレーションがサポートされているわけではありません。
パラメータ:
readAheadLimit - マークを保持しながら読み込むことができる文字数の上限。この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある
例外:
IOException - ストリームが mark() をサポートしない場合、またはその他の入出力エラーが発生した場合

reset

public void reset()
           throws IOException
ストリームをリセットします。ストリームにマークが設定されていると、そのマークに再配置しようとします。マークが設定されていなければ、開始位置に再配置するなどの、個々のストリームに適したなんらかの方法でリセットを試みます。すべての文字入力ストリームで reset() オペレーションがサポートされているわけではありません。また、mark() をサポートせずに reset() をサポートするものもあります。
例外:
IOException - ストリームにマークが設定されなかった場合、またはマークの設定が無効になった場合、またはストリームが reset() をサポートしない場合、または他の入出力エラーが発生した場合

close

public abstract void close()
                    throws IOException
ストリームを閉じます。ストリームを一度閉じて、以降 read()、ready()、mark()、または reset() を呼び出すと、IOException がスローされます。ただし、前に閉じたストリームを閉じても効果はありません。
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.