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