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