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

クラスInputStreamReader

java.lang.Object
java.io.Reader
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 - offが負の場合、またはlenが負の場合、またはlencbuf.length - offより大きい場合
    • ready

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