Java プラットフォーム 1.2

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)
そのクリティカルなセクションが指定されたオブジェクトで同期する、新しい文字ストリームリーダを作成します。
メソッドの詳細

read

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

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

戻り値:
0 〜 16383 (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 - スキップする文字数
戻り値:
実際にスキップした文字数
例外:
IOException - 入出力エラーが発生した場合

ready

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

markSupported

public boolean markSupported()
このストリームが mark() オペレーションをサポートするかどうかを判定します。

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 - 入出力エラーが発生した場合

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.