java.lang.Object
java.io.Reader
java.io.FilterReader
java.io.PushbackReader
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
,Readable
public class PushbackReader extends FilterReader
文字をストリームにプッシュ・バックできる文字ストリーム・リーダーです。
- 導入されたバージョン:
- 1.1
-
フィールドのサマリー
クラス java.io.FilterReaderで宣言されたフィールド
in
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 PushbackReader(Reader in)
1文字分のプッシュバック・バッファを持つ、新しいプッシュバック・リーダーを作成します。PushbackReader(Reader in, int size)
指定されたサイズのプッシュバック・バッファを持つ、新しいプッシュバック・リーダーを作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 void
close()
ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。void
mark(int readAheadLimit)
ストリームの現在位置にマークを設定します。boolean
markSupported()
このストリームがmark()オペレーションをサポートするかどうか、サポートしないのはどれなのかを調べます。int
read()
単一の文字を読み込みます。int
read(char[] cbuf, int off, int len)
配列の一部に文字を読み込みます。boolean
ready()
このストリームが読込み可能かどうかを判定します。void
reset()
ストリームをリセットします。long
skip(long n)
文字をスキップします。void
unread(char[] cbuf)
プッシュバック・バッファの先頭に文字配列をコピーすることによって、文字配列をプッシュ・バックします。void
unread(char[] cbuf, int off, int len)
プッシュバック・バッファの先頭に文字配列の一部をコピーすることによって、それらの文字をプッシュ・バックします。void
unread(int c)
プッシュバック・バッファの先頭に1文字をコピーすることによって、その文字をプッシュ・バックします。クラス java.io.Readerで宣言されたメソッド
nullReader, read, read, transferTo
-
コンストラクタの詳細
-
PushbackReader
public PushbackReader(Reader in, int size)指定されたサイズのプッシュバック・バッファを持つ、新しいプッシュバック・リーダーを作成します。- パラメータ:
in
- 文字の読込み元のリーダーsize
- プッシュバック・バッファのサイズ- 例外:
IllegalArgumentException
-size <= 0
の場合
-
PushbackReader
public PushbackReader(Reader in)1文字分のプッシュバック・バッファを持つ、新しいプッシュバック・リーダーを作成します。- パラメータ:
in
- 文字の読込み元のリーダー
-
-
メソッドの詳細
-
read
public int read() throws IOException単一の文字を読み込みます。- オーバーライド:
read
、クラス:FilterReader
- 戻り値:
- 読み込まれた文字。ストリームの終わりに達した場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合
-
read
public int read(char[] cbuf, int off, int len) throws IOException配列の一部に文字を読み込みます。- オーバーライド:
read
、クラス:FilterReader
- パラメータ:
cbuf
- 転送先バッファoff
- 文字の書込み開始オフセットlen
- 読み込む文字の最大数- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達した場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはlen
がcbuf.length - off
より大きい場合
-
unread
public void unread(int c) throws IOExceptionプッシュバック・バッファの先頭に1文字をコピーすることによって、その文字をプッシュ・バックします。 このメソッドが復帰すると、次に読み込まれる文字は値(char)c
を持ちます。- パラメータ:
c
- プッシュ・バックされる文字を表すint値- 例外:
IOException
- ブッシュバック・バッファがいっぱいの場合、またはほかの入出力エラーが発生した場合
-
unread
public void unread(char[] cbuf, int off, int len) throws IOExceptionプッシュバック・バッファの先頭に文字配列の一部をコピーすることによって、それらの文字をプッシュ・バックします。 このメソッドが復帰すると、次に読み込まれる文字は値cbuf[off]
を持ち、その次の文字は値cbuf[off+1]
を持ちます。それ以降も同様に続きます。- パラメータ:
cbuf
- 文字配列off
- 文字のプッシュ・バック開始オフセットlen
- プッシュ・バックする文字数- 例外:
IOException
- プッシュバック・バッファに十分なスペースがない場合、またはほかの入出力エラーが発生した場合
-
unread
public void unread(char[] cbuf) throws IOExceptionプッシュバック・バッファの先頭に文字配列をコピーすることによって、文字配列をプッシュ・バックします。 このメソッドが復帰すると、次に読み込まれる文字は値cbuf[0]
を持ち、その次の文字は値cbuf[1]
を持ちます。それ以降も同様に続きます。- パラメータ:
cbuf
- プッシュ・バックする文字配列- 例外:
IOException
- プッシュバック・バッファに十分なスペースがない場合、またはほかの入出力エラーが発生した場合
-
ready
public boolean ready() throws IOExceptionこのストリームが読込み可能かどうかを判定します。- オーバーライド:
ready
、クラス:FilterReader
- 戻り値:
- 次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
- 例外:
IOException
- 入出力エラーが発生した場合
-
mark
public void mark(int readAheadLimit) throws IOExceptionストリームの現在位置にマークを設定します。PushbackReader
クラスのmark
は常に例外をスローします。- オーバーライド:
mark
、クラス:FilterReader
- パラメータ:
readAheadLimit
- マークを保持しながら読み込むことができる文字数の上限。 この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある。- 例外:
IOException
- markメソッドはサポートされていないので、常にスローされる
-
reset
public void reset() throws IOExceptionストリームをリセットします。reset
のPushbackReader
メソッドは常に例外をスローします。- オーバーライド:
reset
、クラス:FilterReader
- 例外:
IOException
- resetメソッドはサポートされていないので、常にスローされる
-
markSupported
public boolean markSupported()このストリームがmark()オペレーションをサポートするかどうか、サポートしないのはどれなのかを調べます。- オーバーライド:
markSupported
、クラス:FilterReader
- 戻り値:
- このストリームがmarkオペレーションをサポートする場合に限りtrue。
-
close
public void close() throws IOExceptionストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。 ストリームを閉じたあとに、さらにread()、unread()、ready()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。 このメソッドは、リーダー上に別のスレッドがブロックされている間にブロックされます。- 定義:
close
、インタフェース:AutoCloseable
- 定義:
close
、インタフェース:Closeable
- 定義:
close
、クラス:Reader
- 例外:
IOException
- 入出力エラーが発生した場合
-
skip
public long skip(long n) throws IOException文字をスキップします。 このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。- オーバーライド:
skip
、クラス:FilterReader
- パラメータ:
n
- スキップする文字数- 戻り値:
- 実際にスキップした文字数
- 例外:
IllegalArgumentException
-n
が負の値の場合。IOException
- 入出力エラーが発生した場合
-