- すべての実装されたインタフェース:
Closeable
,AutoCloseable
,Readable
- 直系の既知のサブクラス:
BufferedReader
,CharArrayReader
,FilterReader
,InputStreamReader
,PipedReader
,StringReader
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract void
close()
ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。void
mark
(int readAheadLimit) ストリームの現在位置にマークを設定します。boolean
このストリームがmark()オペレーションをサポートするかどうかを判定します。static Reader
文字を読み取らない新しいReader
を返します。int
read()
単一の文字を読み込みます。int
read
(char[] cbuf) 配列に文字を読み込みます。abstract int
read
(char[] cbuf, int off, int len) 配列の一部に文字を読み込みます。int
read
(CharBuffer target) 指定された文字バッファに文字列を読み込みます。boolean
ready()
このストリームが読込み可能かどうかを判定します。void
reset()
ストリームをリセットします。long
skip
(long n) 文字をスキップします。long
transferTo
(Writer out) このリーダーからすべての文字を読み込み、指定されたライターに読み込まれた順番で書き込みます。
-
フィールド詳細
-
lock
protected Object lockこのストリームに対する処理の同期に使用するオブジェクトです。 効率を良くするため、文字ストリーム・オブジェクトは、ほかのオブジェクトを使ってクリティカル・セクションを保護することができます。 そのため、サブクラスではthis
ではなくこのフィールドのオブジェクトを使用するか、同期化したメソッドを使用するようにしてください。
-
-
コンストラクタの詳細
-
Reader
protected Reader()リーダー自体でクリティカル・セクションが同期する文字ストリーム・リーダーを新しく作成します。 -
Reader
protected Reader(Object lock) 指定されたオブジェクトでクリティカル・セクションが同期する文字ストリーム・リーダーを新しく作成します。- パラメータ:
lock
- 同期するオブジェクト。
-
-
メソッドの詳細
-
nullReader
public static Reader nullReader()文字を読み取らない新しいReader
を返します。 返されるストリームは、最初はオープンしています。 ストリームを閉じるには、close()
メソッドを呼び出します。 後からclose()
をコールしても効果はありません。ストリームがオープンしている間、
read()
、read(char[])
、read(char[], int, int)
、read(CharBuffer)
、ready()
、skip(long)
、およびtransferTo()
の各メソッドは、ストリームの最後に達したかのようにすべて動作します。 ストリームが閉じられると、これらのメソッドはすべてIOException
をスローします。markSupported()
メソッドはfalse
を返します。mark()
メソッドとreset()
メソッドはIOException
をスローします。返された
Reader
に対する操作の同期に使用されるobject
は指定されていません。- 戻り値:
- 文字のない
Reader
- 導入されたバージョン:
- 11
-
read
public int read(CharBuffer target) throws IOException 指定された文字バッファに文字列を読み込みます。 バッファは、put操作の結果により変更される以外は、文字列そのままのリポジトリとして使用されます。 バッファのフリッピング(反転)やリワインド(巻き戻し)は行われません。- 定義:
read
、インタフェース:Readable
- パラメータ:
target
- 文字を読み込むバッファ- 戻り値:
- バッファに追加された文字の数。文字のソースが最後の位置にある場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合NullPointerException
- targetがnullの場合ReadOnlyBufferException
- targetが読取り専用バッファの場合- 導入されたバージョン:
- 1.5
-
read
public int read() throws IOException単一の文字を読み込みます。 このメソッドは1文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。有効な単一文字の入力をサポートするためのサブクラスでは、このメソッドをオーバーライドします。
- 戻り値:
- 0 - 65535 (
0x00-0xffff
)の範囲の整数としての、読み込まれた文字。ストリームの終わりに達した場合は -1 - 例外:
IOException
- 入出力エラーが発生した場合
-
read
public int read(char[] cbuf) throws IOException 配列に文字を読み込みます。 このメソッドは入力の一部が有効になるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。cbuf
の長さがゼロの場合、文字は読み取られず、0
が返されます。そうしないと、少なくとも1文字の読取りが試行されます。 ストリームが終了しているため、使用できる文字がない場合、値-1
が返されます。そうしないと、少なくとも1つの文字が読み取られ、cbuf
に格納されます。- パラメータ:
cbuf
- 転送先バッファ- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達した場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合
-
read
public abstract int read(char[] cbuf, int off, int len) throws IOException 配列の一部に文字を読み込みます。 このメソッドは入力の一部が有効になるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。len
が0の場合、文字は読み取られず、0
が返されます。そうしないと、少なくとも1文字の読取りが試行されます。 ストリームが終了しているため、使用できる文字がない場合、値-1
が返されます。そうしないと、少なくとも1つの文字が読み取られ、cbuf
に格納されます。- パラメータ:
cbuf
- 転送先バッファoff
- 文字の格納開始オフセットlen
- 読み込む文字の最大数- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達した場合は -1
- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはlen
がcbuf.length - off
より大きい場合IOException
- 入出力エラーが発生した場合
-
skip
public long skip(long n) throws IOException 文字をスキップします。 このメソッドは、文字が読み込まれるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。 このメソッドを呼び出す前にストリームがすでに終了している場合は、文字はスキップされず、ゼロが返されます。- パラメータ:
n
- スキップする文字数- 戻り値:
- 実際にスキップした文字数
- 例外:
IllegalArgumentException
-n
が負の値の場合。IOException
- 入出力エラーが発生した場合
-
ready
public boolean ready() throws IOExceptionこのストリームが読込み可能かどうかを判定します。- 戻り値:
- 次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
- 例外:
IOException
- 入出力エラーが発生した場合
-
markSupported
public boolean markSupported()このストリームがmark()オペレーションをサポートするかどうかを判定します。 デフォルト実装は常にfalseを返します。 サブクラスはこのメソッドをオーバーライドする必要があります。- 戻り値:
- このストリームがmarkオペレーションをサポートする場合に限りtrue。
-
mark
public void mark(int readAheadLimit) throws IOException ストリームの現在位置にマークを設定します。 以降のreset()の呼出しでは、この位置へのストリームの再配置が試みられます。 すべての文字入力ストリームでmark()オペレーションがサポートされているわけではありません。- パラメータ:
readAheadLimit
- マークを保持しながら読み込むことができる文字数の上限。 この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある。- 例外:
IOException
- ストリームがmark()をサポートしない場合、またはその他の入出力エラーが発生した場合
-
reset
public void reset() throws IOExceptionストリームをリセットします。 ストリームにマークが設定されている場合は、マークに再配置しようとします。 マークが設定されていない場合は、開始位置への再配置など、個々のストリームに適した方法でリセットを試みます。 すべての文字入力ストリームでreset()オペレーションがサポートされているわけではありません。また、mark()をサポートせずにreset()をサポートするものもあります。- 例外:
IOException
- ストリームにマークが設定されなかった場合、またはマークの設定が無効になった場合、またはストリームがreset()をサポートしない場合、または他の入出力エラーが発生した場合
-
close
public abstract void close() throws IOExceptionストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。 ストリームが閉じられたあとにread()、ready()、mark()、reset()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close
、インタフェース:AutoCloseable
- 定義:
close
、インタフェース:Closeable
- 例外:
IOException
- 入出力エラーが発生した場合
-
transferTo
public long transferTo(Writer out) throws IOException このリーダーからすべての文字を読み込み、指定されたライターに読み込まれた順番で書き込みます。 戻ってくると、このリーダーはストリームの最後にあります。 このメソッドは、リーダーまたはライターのいずれも閉じません。このメソッドは、リーダーからの無期限読み取り、またはライターへの書き込みをブロックすることがあります。 リーダーおよび/またはライターが「非同期クローズ」であるか、転送中にスレッドが中断した場合の動作は、リーダー・ライター固有のものであり、したがって指定されていません。
I/Oエラーがリーダーからの読取りまたはライターへの書込みで発生した場合、一部の文字の読取りまたは書込み後にエラーが発生することがあります。 その結果、リーダーはストリームの終わりにいなくてもよく、一方または両方のストリームは不整合な状態にあってもよい。 I/Oエラーが発生した場合、両方のストリームを即時に閉じることを強くお勧めします。
- パラメータ:
out
- 作家、非null- 戻り値:
- 転送された文字数
- 例外:
IOException
- 読み取りまたは書込み中に入出力エラーが発生した場合。NullPointerException
-out
がnull
である場合- 導入されたバージョン:
- 10
-