Foundation 1.1.2

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()
このストリームによって使用されている文字エンコーディングの正規名を返します。

このインスタンスが InputStreamReader(InputStream, String) コンストラクタを使用して作成された場合、返されるエンコーディング名 (正規) はコンストラクタに渡されたエンコーディング名と異なることがあります。ストリームが閉じている場合は、null が返されることがあります。

注:J2ME CDC では、互換名の概念がないため、文字エンコーディングの正規名のみが返されます。

戻り値:
エンコーディング名を表す文字列。ストリームが閉じている場合は 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
戻り値:
次の read() が入力をブロックしないのが確実な場合は true、そうでない場合は false。false が返されても、次の読み込みが確実にブロックするというわけでない
例外:
IOException - 入出力エラーが発生した場合

close

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

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

Foundation 1.1.2

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

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