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

クラスInputStreamReader

  • すべての実装されたインタフェース:
    Closeable, AutoCloseable, Readable
    直系の既知のサブクラス:
    FileReader

    public class InputStreamReader
    extends Reader
    InputStreamReaderはバイト・ストリームから文字ストリームへの橋渡しの役目を持ちます。バイトを読み込み、指定されたcharsetを使用して文字にデコードします。 使用される文字セットは、名前で指定することも、明示的に渡すことも、またはプラットフォームのデフォルトの文字セットをそのまま使うこともできます。

    InputStreamReaderのread()メソッドのいずれかを呼び出すたびに、ベースとなるバイト入力ストリームから1つ以上のバイトが読み込まれます。 バイトから文字への効率的な変換を可能にするために、現在の読込みオペレーションを満たすのに必要な量より多くのバイトをベースとなるストリームから先読みすることができます。

    変換効率を最高にするには、BufferedReaderの内部にInputStreamReaderをラップすることを考慮してください。 次に例を示します。

     BufferedReader in
       = new BufferedReader(new InputStreamReader(System.in));
     

    導入されたバージョン:
    1.1
    関連項目:
    BufferedReaderInputStreamCharset
    • コンストラクタの詳細

      • InputStreamReader

        public InputStreamReader​(InputStream in)
        デフォルトの文字セットを使うInputStreamReaderを作成します。
        パラメータ:
        in - InputStream
      • InputStreamReader

        public InputStreamReader​(InputStream in,
                                 String charsetName)
                          throws UnsupportedEncodingException
        指定された文字セットを使うInputStreamReaderを作成します。
        パラメータ:
        in - InputStream
        charsetName - サポートされているcharsetの名前
        例外:
        UnsupportedEncodingException - 指定された文字セットがサポートされていない場合
      • InputStreamReader

        public InputStreamReader​(InputStream in,
                                 Charset cs)
        与えられた文字セットを使うInputStreamReaderを作成します。
        パラメータ:
        in - InputStream
        cs - charset
        導入されたバージョン:
        1.4
      • InputStreamReader

        public InputStreamReader​(InputStream in,
                                 CharsetDecoder dec)
        与えられた文字セット・デコーダを使うInputStreamReaderを作成します。
        パラメータ:
        in - InputStream
        dec - 文字セット・デコーダ
        導入されたバージョン:
        1.4
    • メソッドの詳細

      • getEncoding

        public String getEncoding()
        このストリームで使用される文字エンコーディングの名前を返します。

        エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの正規名を返します。

        このインスタンスがInputStreamReader(InputStream, String)コンストラクタを使用して作成された場合、返される名前はエンコーディングに対して一意となり、そのコンストラクタに渡された名前とは異なることがあります。 ストリームが閉じている場合、このメソッドはnullを返します。

        戻り値:
        このエンコーディングの互換名。ストリームが閉じている場合はnull
        関連項目:
        Charset
      • read

        public int read()
                 throws IOException
        単一の文字を読み込みます。
        オーバーライド:
        read、クラス: Reader
        戻り値:
        読み込まれた文字。ストリームの終わりに達した場合は -1
        例外:
        IOException - 入出力エラーが発生した場合
      • read

        public int read​(char[] cbuf,
                        int offset,
                        int length)
                 throws IOException
        配列の一部に文字を読み込みます。
        定義:
        read、クラス: Reader
        パラメータ:
        cbuf - 転送先バッファ
        offset - 文字の格納開始オフセット
        length - 読み込む文字の最大数
        戻り値:
        読み込まれた文字数。ストリームの終わりに達した場合は -1
        例外:
        IOException - 入出力エラーが発生した場合
        IndexOutOfBoundsException - I/Oエラーが発生した場合
      • ready

        public boolean ready()
                      throws IOException
        このストリームが読込み可能かどうかを判定します。 InputStreamReaderは、入力バッファが空白でない場合、またはベースとなるバイト・ストリームからバイト・データを読み込める状態である場合に読込み可能です。
        オーバーライド:
        ready、クラス: Reader
        戻り値:
        次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
        例外:
        IOException - 入出力エラーが発生した場合