Java-io-chararrayreader-mark
提供:Dev Guides
Java.io.CharArrayReader.mark()メソッド
説明
- java.io.CharArrayReader.mark(int readAheadLimit)*メソッドは、ストリーム内の現在の位置をマークします。 reset()を呼び出すと、ストリームがこの位置に再配置されます。
宣言
以下は* java.io.CharArrayReader.mark(int readAheadLimit)*メソッドの宣言です-
public void mark(int readAheadLimit)
パラメーター
*readAheadLimit* -パラメーターは、マークを保持しながら読み取ることができる文字数の制限を設定します。 ストリームの入力は文字配列から来るため、実際の制限はないため、引数は通常無視されます。
戻り値
メソッドは値を返しません。
例外
*IOException* -I/Oエラーが発生した場合。
例
次の例は、java.io.CharArrayReader.mark(int readAheadLimit)メソッドの使用方法を示しています。
package com.finddevguides;
import java.io.CharArrayReader;
import java.io.IOException;
public class CharArrayReaderDemo {
public static void main(String[] args) { CharArrayReader car = null;
char[] ch = {'A', 'B', 'C', 'D', 'E'};
try {
//create new character array reader
car = new CharArrayReader(ch);
//read and print the characters from the stream
System.out.println(car.read());
System.out.println(car.read());
//mark() is invoked at this position
car.mark(0);
System.out.println("Mark() is invoked");
System.out.println(car.read());
System.out.println(car.read());
//reset() is invoked at this position
car.reset();
System.out.println("Reset() is invoked");
System.out.println(car.read());
System.out.println(car.read());
System.out.println(car.read());
} catch(IOException e) {
//if I/O error occurs
System.out.print("Stream is already closed");
} finally {
//releases any system resources associated with the stream
if(car!=null)
car.close();
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
65
66
Mark() is invoked
67
68
Reset() is invoked
67
68
69