Java FilterReader reset()方法

java.io.FilterReader.reset() 方法重新定位,其中最近的mark() 被调用流。

1 语法

public void reset()

2 参数

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.FilterReader.reset() 方法的例子
 */
import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;

public class Demo {
    public static void main(String[] args) throws Exception {
        FilterReader fr = null;
        Reader r = null;

        try {
            // create new reader
            r = new StringReader("ABCDEF");

            // create new filter reader
            fr = new FilterReader(r) {
            };

            // read and print characters one by one
            System.out.println("Char : "+(char)fr.read());
            System.out.println("Char : "+(char)fr.read());
            System.out.println("Char : "+(char)fr.read());

            // mark is set on the filter reader
            fr.mark(0);
            System.out.println("Char : "+(char)fr.read());
            System.out.println("reset() invoked");

            // reset is called
            fr.reset();

            // read and print characters
            System.out.println("char : "+(char)fr.read());
            System.out.println("char : "+(char)fr.read());

        } catch(Exception e) {
            // if any I/O error occurs
            e.printStackTrace();
        } finally {
            // releases system resources associated with this stream
            if(r!=null)
                r.close();
            if(fr!=null)
                fr.close();
        }
    }
}

输出结果为:

Char : A
Char : B
Char : C
Char : D
reset() invoked
char : D
char : E

热门文章

优秀文章