JavaTM 2 Platform
Std. Ed. v1.3

java.io
クラス InputStreamReader

java.lang.Object
  |
  +--java.io.Reader
        |
        +--java.io.InputStreamReader
直系の既知のサブクラス:
FileReader

public class InputStreamReader
extends Reader

InputStreamReader はバイトストリームから文字ストリームへの橋渡しの役目を持ち、バイトデータを読み込んで、それを指定された「文字エンコーディング」に従って変換します。使用されるエンコーディングは、名前で指定するか、またはプラットフォームのデフォルトをそのまま使うこともできます。

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

変換効率を最高にするには、次のような方法で、BufferedReader の内部に InputStreamReader をラップすることを考慮してください。

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

導入されたバージョン:
JDK1.1
関連項目:
BufferedReader, InputStream, 「文字エンコーディング」

クラス java.io.Reader から継承したフィールド
lock
 
コンストラクタの概要
InputStreamReader(InputStream in)
          デフォルトの文字エンコーディングを使う InputStreamReader を作成します。
InputStreamReader(InputStream in, String enc)
          指定された文字エンコーディングを使う InputStreamReader を作成します。
 
メソッドの概要
 void close()
          ストリームを閉じます。
 String getEncoding()
          このストリームによって使用されている文字エンコーディングの標準名を返します。
 int read()
          単一の文字を読み込みます。
 int read(char[] cbuf, int off, int len)
          配列の一部に文字を読み込みます。
 boolean ready()
          ストリームが読み込み可能な状態かどうかを通知します。
 
クラス java.io.Reader から継承したメソッド
mark, markSupported, read, reset, skip
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InputStreamReader

public InputStreamReader(InputStream in)
デフォルトの文字エンコーディングを使う InputStreamReader を作成します。
パラメータ:
in - InputStream

InputStreamReader

public InputStreamReader(InputStream in,
                         String enc)
                  throws UnsupportedEncodingException
指定された文字エンコーディングを使う InputStreamReader を作成します。
パラメータ:
in - InputStream
enc - サポートされる「文字エンコーディング」の名前
例外:
UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合
メソッドの詳細

getEncoding

public String getEncoding()
このストリームによって使用されている文字エンコーディングの標準名を返します。この InputStreamReaderInputStreamReader(InputStream, String) コンストラクタで作成された場合、返されるエンコーディング名 (標準名) はコンストラクタに渡されたエンコーディング名と異なることがあります。ストリームが閉じている場合は null が返されることがあります。
戻り値:
エンコーディング名を表す文字列。ストリームが閉じている場合は null
関連項目:
「文字エンコーディング」

read

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

read

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

ready

public boolean ready()
              throws IOException
ストリームが読み込み可能な状態かどうかを通知します。InputStreamReader は、入力バッファが空白ではないか、または基本となるバイトストリームからバイトデータを読み込める状態のときに読み込み可能です。
オーバーライド:
クラス Reader 内の ready
例外:
IOException - 入出力エラーが発生した場合

close

public void close()
           throws IOException
ストリームを閉じます。
オーバーライド:
クラス Reader 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.