モジュール java.base
パッケージ java.io

クラスPushbackReader

  • すべての実装されたインタフェース:
    Closeable, AutoCloseable, Readable

    public class PushbackReader
    extends FilterReader
    文字をストリームにプッシュ・バックできる文字ストリーム・リーダーです。
    導入されたバージョン:
    1.1
    • フィールドのサマリー

      • クラス java.io.Readerで宣言されたフィールド

        lock
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      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文字をコピーすることによって、その文字をプッシュ・バックします。
    • コンストラクタの詳細

      • 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 - I/Oエラーが発生した場合
      • 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
        ストリームをリセットします。 resetPushbackReaderメソッドは常に例外をスローします。
        オーバーライド:
        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 - 入出力エラーが発生した場合