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.yiibai; 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