Java PushbackReader mark()方法

java.io.PushbackReader.mark(int readAheadLimit) 方法标记流中的当前位置。标记为类PushbackReader总是抛出一个异常。

1 语法

public void mark(int readAheadLimit)

2 参数

readAheadLimit:在仍保留该标记的情况下被读取的字符数限制。读取这些字符后,尝试重置流可能会失败。

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.PushbackReader.mark(int readAheadLimit)方法的例子
 */
import java.io.*;

public class Demo {
    public static void main(String[] args) {
        String s = "Hello World";

        // create a new StringReader
        StringReader sr = new StringReader(s);

        // create a new PushBack reader based on our string reader
        PushbackReader pr = new PushbackReader(sr, 20);

        try {
            // read the first five chars
            for (int i = 0; i < 5; i++) {
                char c = (char) pr.read();
                System.out.print("" + c);
            }

            // change line
            System.out.println();

            // mark the current position results in exception
            pr.mark(5);

            // close the stream
            pr.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

输出结果为:

java.io.IOException: mark/reset not supported
	at java.io.PushbackReader.mark(PushbackReader.java:218)
Hello
	at com.yiidian.Demo.main(Demo.java:32)

热门文章

优秀文章