java.lang.Object
java.io.Reader
java.io.InputStreamReader
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
,Readable
- 直系の既知のサブクラス:
FileReader
public class InputStreamReader extends Reader
InputStreamReaderはバイト・ストリームから文字ストリームへの橋渡しの役目を持ちます。バイトを読み込み、指定された
charset
を使用して文字にデコードします。 使用される文字セットは、名前で指定することも、明示的に渡すことも、またはプラットフォームのデフォルトの文字セットをそのまま使うこともできます。
InputStreamReaderのread()メソッドのいずれかを呼び出すたびに、ベースとなるバイト入力ストリームから1つ以上のバイトが読み込まれます。 バイトから文字への効率的な変換を可能にするために、現在の読込みオペレーションを満たすのに必要な量より多くのバイトをベースとなるストリームから先読みすることができます。
変換効率を最高にするには、BufferedReaderの内部にInputStreamReaderをラップすることを考慮してください。 次に例を示します。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- 導入されたバージョン:
- 1.1
- 関連項目:
BufferedReader
、InputStream
、Charset
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 InputStreamReader(InputStream in)
デフォルトの文字セットを使うInputStreamReaderを作成します。InputStreamReader(InputStream in, String charsetName)
指定された文字セットを使うInputStreamReaderを作成します。InputStreamReader(InputStream in, Charset cs)
与えられた文字セットを使うInputStreamReaderを作成します。InputStreamReader(InputStream in, CharsetDecoder dec)
与えられた文字セット・デコーダを使うInputStreamReaderを作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 String
getEncoding()
このストリームで使用される文字エンコーディングの名前を返します。int
read()
単一の文字を読み込みます。int
read(char[] cbuf, int offset, int length)
配列の一部に文字を読み込みます。boolean
ready()
このストリームが読込み可能かどうかを判定します。クラス java.io.Readerで宣言されたメソッド
close, mark, markSupported, nullReader, read, read, reset, skip, transferTo
-
コンストラクタの詳細
-
InputStreamReader
public InputStreamReader(InputStream in)デフォルトの文字セットを使うInputStreamReaderを作成します。- パラメータ:
in
- InputStream
-
InputStreamReader
public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException指定された文字セットを使うInputStreamReaderを作成します。- パラメータ:
in
- InputStreamcharsetName
- サポートされているcharset
の名前- 例外:
UnsupportedEncodingException
- 指定された文字セットがサポートされていない場合
-
InputStreamReader
public InputStreamReader(InputStream in, Charset cs)与えられた文字セットを使うInputStreamReaderを作成します。- パラメータ:
in
- InputStreamcs
- charset- 導入されたバージョン:
- 1.4
-
InputStreamReader
public InputStreamReader(InputStream in, CharsetDecoder dec)与えられた文字セット・デコーダを使うInputStreamReaderを作成します。- パラメータ:
in
- InputStreamdec
- 文字セット・デコーダ- 導入されたバージョン:
- 1.4
-
-
メソッドの詳細
-
getEncoding
public String getEncoding()このストリームで使用される文字エンコーディングの名前を返します。エンコーディングに互換名がある場合は、その名前を返します。互換名がない場合は、エンコーディングの正規名を返します。
このインスタンスが
InputStreamReader(InputStream, String)
コンストラクタを使用して作成された場合、返される名前はエンコーディングに対して一意となり、そのコンストラクタに渡された名前とは異なることがあります。 ストリームが閉じている場合、このメソッドはnull
を返します。- 戻り値:
- このエンコーディングの互換名。ストリームが閉じている場合は
null
- 関連項目:
Charset
-
read
public int read() throws IOException単一の文字を読み込みます。- オーバーライド:
read
、クラス:Reader
- 戻り値:
- 読み込まれた文字。ストリームの終わりに達した場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合
-
read
public int read(char[] cbuf, int offset, int length) throws IOException配列の一部に文字を読み込みます。- 定義:
read
、クラス:Reader
- パラメータ:
cbuf
- 転送先バッファoffset
- 文字の格納開始オフセットlength
- 読み込む文字の最大数- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達した場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはlen
がcbuf.length - off
より大きい場合
-
ready
public boolean ready() throws IOExceptionこのストリームが読込み可能かどうかを判定します。 InputStreamReaderは、入力バッファが空白でない場合、またはベースとなるバイト・ストリームからバイト・データを読み込める状態である場合に読込み可能です。- オーバーライド:
ready
、クラス:Reader
- 戻り値:
- 次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
- 例外:
IOException
- 入出力エラーが発生した場合
-