JavaTM 2 Platform
Standard Ed. 5.0

java.io
クラス InputStreamReader

java.lang.Object
  上位を拡張 java.io.Reader
      上位を拡張 java.io.InputStreamReader
すべての実装されたインタフェース:
Closeable, Readable
直系の既知のサブクラス:
FileReader

public class InputStreamReader
extends Reader

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

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

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


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

導入されたバージョン:
JDK1.1
関連項目:
BufferedReader, InputStream, Charset

フィールドの概要
 
クラス java.io.Reader から継承されたフィールド
lock
 
コンストラクタの概要
InputStreamReader(InputStream in)
          デフォルトの文字セットを使う InputStreamReader を作成します。
InputStreamReader(InputStream in, Charset cs)
          与えられた文字セットを使う InputStreamReader を作成します。
InputStreamReader(InputStream in, CharsetDecoder dec)
          与えられた文字セットデコーダを使う InputStreamReader を作成します。
InputStreamReader(InputStream in, String charsetName)
          指定された文字セットを使う InputStreamReader を作成します。
 
メソッドの概要
 void close()
          ストリームを閉じます。
 String getEncoding()
          このストリームで使用される文字セットの名前を返します。
 int read()
          単一の文字を読み込みます。
 int read(char[] cbuf, int offset, int length)
          配列の一部に文字を読み込みます。
 boolean ready()
          ストリームが読み込み可能な状態かどうかを通知します。
 
クラス java.io.Reader から継承されたメソッド
mark, markSupported, read, 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 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
単一の文字を読み込みます。

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

read

public int read(char[] cbuf,
                int offset,
                int length)
         throws IOException
配列の一部に文字を読み込みます。

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

ready

public boolean ready()
              throws IOException
ストリームが読み込み可能な状態かどうかを通知します。InputStreamReader は、入力バッファが空白ではないか、または基本となるバイトストリームからバイトデータを読み込める状態のときに読み込み可能です。

オーバーライド:
クラス Reader 内の ready
戻り値:
次の read() が入力をブロックしないのが確実な場合は true、そうでない場合は false。false が返されても、次の読み込みが確実にブロックするというわけでない
例外:
IOException - 入出力エラーが発生した場合

close

public void close()
           throws IOException
ストリームを閉じます。

定義:
インタフェース Closeable 内の close
定義:
クラス Reader 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。