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

クラスReader

    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected Object lock
      このストリームに対する処理の同期に使用するオブジェクトです。
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected Reader()
      リーダー自体でクリティカル・セクションが同期する文字ストリーム・リーダーを新しく作成します。
      protected Reader​(Object lock)
      指定されたオブジェクトでクリティカル・セクションが同期する文字ストリーム・リーダーを新しく作成します。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      abstract void close()
      ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。
      void mark​(int readAheadLimit)
      ストリームの現在位置にマークを設定します。
      boolean markSupported()
      このストリームがmark()オペレーションをサポートするかどうかを判定します。
      static Reader nullReader()
      文字を読み取らない新しいReaderを返します。
      int read()
      単一の文字を読み込みます。
      int read​(char[] cbuf)
      配列に文字を読み込みます。
      abstract int read​(char[] cbuf, int off, int len)
      配列の一部に文字を読み込みます。
      int read​(CharBuffer target)
      指定された文字バッファに文字列を読み込みます。
      boolean ready()
      このストリームが読込み可能かどうかを判定します。
      void reset()
      ストリームをリセットします。
      long skip​(long n)
      文字をスキップします。
      long transferTo​(Writer out)
      このリーダーからすべての文字を読み込み、指定されたライターに読み込まれた順番で書き込みます。
    • フィールドの詳細

      • lock

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

      • Reader

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

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

      • nullReader

        public static Reader nullReader()
        文字を読み取らない新しいReaderを返します。 返されるストリームは、最初はオープンしています。 ストリームを閉じるには、close()メソッドを呼び出します。 後からclose()をコールしても効果はありません。

        ストリームがオープンしている間、read()read(char[])read(char[], int, int)read(Charbuffer) ready()skip(long)、およびtransferTo()の各メソッドは、ストリームの最後に達したかのようにすべて動作します。 ストリームが閉じられると、これらのメソッドはすべてIOExceptionをスローします。

        markSupported()メソッドはfalseを返します。 mark()メソッドとreset()メソッドはIOExceptionをスローします。

        返されたReaderに対する操作の同期に使用されるobjectは指定されていません。

        戻り値:
        文字のないReader
        導入されたバージョン:
        11
      • read

        public int read​(CharBuffer target)
                 throws IOException
        指定された文字バッファに文字列を読み込みます。 バッファは、put操作の結果により変更される以外は、文字列そのままのリポジトリとして使用されます。 バッファのフリッピング(反転)やリワインド(巻き戻し)は行われません。
        定義:
        read、インタフェース: Readable
        パラメータ:
        target - 文字を読み込むバッファ
        戻り値:
        バッファに追加された文字の数。文字のソースが最後の位置にある場合は -1
        例外:
        IOException - 入出力エラーが発生した場合
        NullPointerException - targetがnullの場合
        ReadOnlyBufferException - targetが読取り専用バッファの場合
        導入されたバージョン:
        1.5
      • read

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

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

        戻り値:
        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 - 入出力エラーが発生した場合
        IndexOutOfBoundsException - offが負の場合、またはlenが負の場合、またはlencbuf.length - offより大きい場合
      • 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()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。
        定義:
        close、インタフェース: AutoCloseable
        定義:
        close、インタフェース: Closeable
        例外:
        IOException - 入出力エラーが発生した場合
      • transferTo

        public long transferTo​(Writer out)
                        throws IOException
        このリーダーからすべての文字を読み込み、指定されたライターに読み込まれた順番で書き込みます。 戻ってくると、このリーダーはストリームの最後にあります。 このメソッドは、リーダーまたはライターのいずれも閉じません。

        このメソッドは、リーダーからの無期限読み取り、またはライターへの書き込みをブロックすることがあります。 リーダーおよび/またはライターが「非同期クローズ」であるか、転送中にスレッドが中断した場合の動作は、リーダー・ライター固有のものであり、したがって指定されていません。

        I/Oエラーがリーダーからの読取りまたはライターへの書込みで発生した場合、一部の文字の読取りまたは書込み後にエラーが発生することがあります。 その結果、リーダーはストリームの終わりにいなくてもよく、一方または両方のストリームは不整合な状態にあってもよい。 I/Oエラーが発生した場合、両方のストリームを即時に閉じることを強くお勧めします。

        パラメータ:
        out - 作家、非null
        戻り値:
        転送された文字数
        例外:
        IOException - 読み取りまたは書込み中に入出力エラーが発生した場合。
        NullPointerException - outnullである場合
        導入されたバージョン:
        10