Java PushbackReader skip()方法与示例

PushbackReader类skip()方法

  • skip()方法在java.io包中可用。

  • skip()方法用于从此PushbackReader流中跳过给定数量的字符,它将阻塞直到存在某些字符输入或发生任何输入/输出错误或到达流末尾。

  • skip()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • skip()方法在跳过数据字节时可能会引发异常。

    • IOException:遇到任何输入/输出错误时,可能引发此异常。

    • IllegalArgumentException:当给定参数小于0时,可能引发此异常。

语法:

    public long skip(int number);

参数:

  • int number –表示要跳过的字符数。

返回值:

该方法的返回类型很长,它返回跳过的确切字符数。

示例

//Java程序演示示例 
//的long skip(int number)方法的说明
//PushbackReader-

import java.io.*;

public class SkipOfPBR {
    public static void main(String[] args) throws Exception {
        Reader r_stm = null;
        PushbackReader pb_r = null;
        int val = 1;
        
        try {
            //实例化Reader和PushbackReader-
            r_stm = new StringReader("Java World!!!!");
            pb_r = new PushbackReader(r_stm);

            for (int i = 0; i < 4; ++i) {
                //通过使用read()方法是 
                //读取int并将其转换为 
                //字符
                char ch = (char) pb_r.read();
                System.out.println("ch: " + ch);

                //通过使用skip()方法是 
                //跳过char的给定字节
                //pb_r-
                long skip = pb_r.skip(val);
                System.out.println("pb_r.skip(val): " + skip);
                val = val + 1;
            }
        } catch (Exception ex) {
            System.out.println(ex.toString());
        } finally {
            //借助此块可以
            //释放所有链接的必要资源
            //与流
            if (r_stm != null) {
                r_stm.close();
                if (pb_r != null) {
                    pb_r.close();

                }
            }
        }
    }
}

输出结果

ch: J
pb_r.skip(val): 1
ch: v
pb_r.skip(val): 2
ch: W
pb_r.skip(val): 3
ch: d
pb_r.skip(val): 4