📌  相关文章
📜  带有示例的Java中的 PushbackReader skip(long) 方法

📅  最后修改于: 2022-05-13 01:55:36.897000             🧑  作者: Mango

带有示例的Java中的 PushbackReader skip(long) 方法

Java中PushbackReader 类skip(long)方法用于跳过流中指定数量的字符。该字符数被指定为参数。如果它通过跳过到达流的末尾,它将阻塞流直到它得到一些字符,或者抛出 IOException。

句法:

public long skip(long numberOfChar)

参数:此方法接受参数numberOfChar ,该参数是此方法要跳过的字符数。

返回值:此方法返回一个长值,该值是此方法跳过的实际字符数。

异常:此方法抛出:

  • IOException:如果在输入输出时发生错误
  • IllegalArgumentException:如果传递的 numberOfChar 为负数。

以下方法说明了 skip(long) 方法的工作原理:

方案一:

// Java program to demonstrate
// PushbackReader skip(long) method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
            // Initializing a StringReader
            // and PushbackReader
            String s = "GeeksForGeeks";
  
            StringReader stringReader
                = new StringReader(s);
            PushbackReader pushbackReader
                = new PushbackReader(stringReader);
  
            // Get the character
            // to be read from the stream
            int ch;
  
            // Read the first 5 characters
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            for (int i = 0; i < 5; i++) {
                ch = pushbackReader.read();
                System.out.print((char)ch);
            }
  
            System.out.println();
  
            // skip 3 characters using skip(long)
            pushbackReader.skip(3);
  
            System.out.println("Next 3 characters skipped.");
  
            // Read the 2 characters
            // to this reader using read() method
            for (int i = 0; i < 2; i++) {
                ch = pushbackReader.read();
                System.out.print((char)ch);
            }
  
            System.out.println();
  
            // Close the stream
            pushbackReader.close();
            System.out.println("Stream Closed.");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
Geeks
Next 3 characters skipped.
Ge
Stream Closed.

方案二:

// Java program to demonstrate
// PushbackReader skip(long) method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
            // Initializing a StringReader
            // and PushbackReader
            String s = "GFG";
  
            StringReader stringReader
                = new StringReader(s);
            PushbackReader pushbackReader
                = new PushbackReader(stringReader);
  
            // Get the character
            // to be read from the stream
            int ch;
  
            // Read the first character
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            ch = pushbackReader.read();
            System.out.print((char)ch);
  
            System.out.println();
  
            // skip 1 characters using skip(long)
            pushbackReader.skip(1);
  
            System.out.println("Next 1 characters skipped.");
  
            // Read the next 1 character
            // to this reader using read() method
            for (int i = 0; i < 1; i++) {
                ch = pushbackReader.read();
                System.out.print((char)ch);
            }
  
            System.out.println();
  
            // Close the stream
            pushbackReader.close();
            System.out.println("Stream Closed.");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
G
Next 1 characters skipped.
G
Stream Closed.

参考: https://docs.oracle.com/javase/9/docs/api/ Java/io/PushbackReader.html#skip-long-