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