java.lang.Object
java.io.Reader
java.io.CharArrayReader
- すべての実装されたインタフェース:
- Closeable,- AutoCloseable,- Readable
public class CharArrayReader extends Reader
文字入力ストリームとして使用する文字バッファを実装します。
- 導入されたバージョン:
- 1.1
- 
フィールドのサマリーフィールド修飾子と型フィールド説明protected char[]文字バッファです。protected intこのバッファの最後のインデックスです。protected intバッファ内のマーク位置です。protected int現在のバッファの位置です。
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明CharArrayReader(char[] buf) 指定された文字の配列からCharArrayReaderを作成します。CharArrayReader(char[] buf, int offset, int length) 指定された文字の配列からCharArrayReaderを作成します。
- 
メソッドのサマリー修飾子と型メソッド説明voidclose()ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。voidmark(int readAheadLimit) ストリームの現在位置にマークを設定します。booleanこのストリームが、実行するmark()オペレーションをサポートするかどうかを通知します。intread()単一の文字を読み込みます。intread(char[] cbuf, int off, int len) 配列の一部に文字を読み込みます。booleanready()このストリームが読込み可能かどうかを判定します。voidreset()直前のマーク位置にストリームをリセットします。マークが設定されていない場合は、先頭位置にリセットします。longskip(long n) 文字をスキップします。クラス java.io.Readerで宣言されたメソッドnullReader, read, read, transferTo
- 
フィールド詳細- 
bufprotected char[] buf文字バッファです。
- 
posprotected int pos現在のバッファの位置です。
- 
markedPosprotected int markedPosバッファ内のマーク位置です。
- 
countprotected int countこのバッファの最後のインデックスです。 このインデックス以上の有効なデータはありません。
 
- 
- 
コンストラクタの詳細- 
CharArrayReaderpublic CharArrayReader(char[] buf) 指定された文字の配列からCharArrayReaderを作成します。- パラメータ:
- buf- 入力バッファ(コピーされていない)
 
- 
CharArrayReaderpublic CharArrayReader(char[] buf, int offset, int length) 指定された文字の配列からCharArrayReaderを作成します。結果として得られるリーダーは、指定された offsetから読込みを開始します。 このリーダーから読み取ることのできるchar値の総数は、lengthとbuf.length-offsetのいずれか小さい方になります。- パラメータ:
- buf- 入力バッファ(コピーされていない)
- offset- 読み込む最初の文字オフセット
- length- 読み込む文字数
- 例外:
- IllegalArgumentException-- offsetが負または- buf.lengthより大きい場合、- lengthが負の場合、またはこれら2つの値の和が負の場合。
 
 
- 
- 
メソッドの詳細- 
readpublic int read() throws IOException単一の文字を読み込みます。- オーバーライド:
- read、クラス- Reader
- 戻り値:
- 0 - 65535 (0x00-0xffff)の範囲の整数としての、読み込まれた文字。ストリームの終わりに達した場合は -1
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
readpublic 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- 入出力エラーが発生した場合
 
- 
skippublic long skip(long n) throws IOException 文字をスキップします。 このメソッドを呼び出す前にストリームがすでに終了している場合は、文字はスキップされず、ゼロが返されます。nパラメータは、Readerスーパー・クラスのskipメソッドが例外をスローする場合があっても、負の値にできます。nが負の場合、このメソッドは何もせずに0を返します。- オーバーライド:
- skip、クラス- Reader
- パラメータ:
- n- スキップする文字数
- 戻り値:
- 実際にスキップした文字数
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
readypublic boolean ready() throws IOExceptionこのストリームが読込み可能かどうかを判定します。 文字配列のリーダーは、常に読込み可能です。- オーバーライド:
- ready、クラス- Reader
- 戻り値:
- 次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
markSupportedpublic boolean markSupported()このストリームが、実行するmark()オペレーションをサポートするかどうかを通知します。- オーバーライド:
- markSupported、クラス- Reader
- 戻り値:
- このストリームがmarkオペレーションをサポートする場合に限りtrue。
 
- 
markpublic void mark(int readAheadLimit) throws IOException ストリームの現在位置にマークを設定します。 以降のreset()の呼出しでは、ストリームはこの位置に再配置されます。- オーバーライド:
- mark、クラス- Reader
- パラメータ:
- readAheadLimit- マークを保持しながら読み込むことができる文字数の上限。 ストリームには文字配列から入力されるので、実際の上限はない。そのため、この引数は無視される。
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
resetpublic void reset() throws IOException直前のマーク位置にストリームをリセットします。マークが設定されていない場合は、先頭位置にリセットします。- オーバーライド:
- reset、クラス- Reader
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
closepublic void close()ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。 ストリームが閉じられたあとにread()、ready()、mark()、reset()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。 このメソッドは、リーダー上に別のスレッドがブロックされている間にブロックされます。
 
-