JavaTM Platform
Standard Ed. 6

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
クラス Reader の記述:
ストリームを閉じて、それに関連するすべてのシステムリソースを解放します。ストリームが閉じられたあとに read()、ready()、mark()、reset()、または skip() を呼び出すと、IOException がスローされます。すでに閉じられているストリームを閉じても、何の影響もありません。

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

JavaTM Platform
Standard Ed. 6

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

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