📌  相关文章
📜  Java中的 PushbackInputStream skip() 方法及示例

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

Java中的 PushbackInputStream skip() 方法及示例

Java中PushbackInputStream类的skip(long n)方法用于跳过并丢弃此输入流中的 n 字节数据。该方法首先跳过推回缓冲区中的字节,然后调用主输入流的跳过方法。它返回实际跳过的字节数。

句法:

public long skip(long n)
           throws IOException

覆盖:此方法覆盖FilterInputStream类的 skip() 方法。

参数:该方法接受一个参数n,表示要跳过的字节数。

返回值:该方法返回实际跳过的字节数。

异常:如果流已通过调用 close() 方法关闭或发生 I/O 错误,则此方法抛出IOException

下面的程序说明了 IO 包中 PushbackInputStream 类的 skip(long) 方法:

方案一:

// Java program to illustrate
// PushbackInputStream skip(long) method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E',
                           'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Revoke skip()
        pushbackInputStr.skip(2);
  
        for (int i = 0; i < byteArray.length - 2; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
    }
}
输出:
EKS

方案二:

// Java program to illustrate
// PushbackInputStream skip(long) method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E', 'K', 'S',
                           'F', 'O', 'R', 'G', 'E',
                           'E', 'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Revoke skip()
        pushbackInputStr.skip(8);
  
        for (int i = 0; i < byteArray.length - 8; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
    }
}
输出:
GEEKS

参考:
https://docs.oracle.com/javase/10/docs/api/java Java)