モジュール 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を使用して文字にデコードします。 使用する文字セットは、名前で指定するか、明示的に指定するか、プラットフォームdefault charsetを受け入れることができます。

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

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

 BufferedReader in
   = new BufferedReader(new InputStreamReader(anInputStream));
 

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

    • InputStreamReader

      public InputStreamReader(InputStream in)
      default charsetを使用する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
      関連項目:
    • read

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

      public int read(char[] cbuf, int off, int len) throws IOException
      配列の一部に文字を読み込みます。 このメソッドは入力の一部が有効になるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。

      lenが0の場合、文字は読み取られず、0が返されます。そうしないと、少なくとも1文字の読取りが試行されます。 ストリームが終了しているため、使用できる文字がない場合、値-1が返されます。そうしないと、少なくとも1つの文字が読み取られ、cbufに格納されます。

      定義:
      read、クラス: Reader
      パラメータ:
      cbuf - 転送先バッファ
      off - 文字の格納開始オフセット
      len - 読み込む文字の最大数
      戻り値:
      読み込まれた文字数。ストリームの終わりに達した場合は -1
      例外:
      IndexOutOfBoundsException - offが負の場合、またはlenが負の場合、またはlencbuf.length - offより大きい場合
      IOException - 入出力エラーが発生した場合
    • ready

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

      public void close() throws IOException
      次のクラスからコピーされた説明: Reader
      ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。 ストリームが閉じられたあとにread()、ready()、mark()、reset()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。
      定義:
      close、インタフェース: AutoCloseable
      定義:
      close、インタフェース: Closeable
      定義:
      close、クラス: Reader
      例外:
      IOException - 入出力エラーが発生した場合