Java.io.PushbackInputStream.skip() 方法

  • 描述

    Java.io.PushbackInputStream.skip() 方法跳过并丢弃n从该输入流字节的数据。由于各种原因,skip 方法最终可能会跳过一些较小数量的字节,可能为零。如果 n 为负,则不跳过任何字节。PushbackInputStream 的 skip 方法首先跳过推送缓冲区中的字节(如果有)。如果需要跳过更多字节,它然后调用底层输入流的跳过方法。返回实际跳过的字节数。
  • 声明

    以下是protected void skip()方法的声明。
     public long skip(long n)
  • 参数

    n - 要跳过的字节数。
  • 返回值

    此方法返回跳过的实际字节数。
  • 异常

    IOException - 如果流不支持查找,或者流已通过调用其 close() 方法关闭,或者发生 I/O 错误。
  • 例子

    以下示例显示java.io.PushbackInputStream.skip()方法的用法。
     
    package com.jc2182;
    
    import java.io.*;
    
    public class PushbackInputStreamDemo {
       public static void main(String[] args) {
          
          // declare a buffer and initialize its size:
          byte[] arrByte = new byte[1024];
    
          // create an array for our message
          byte[] byteArray = new byte[]{'H', 'e', 'l', 'l', 'o',};
    
    
          // create object of PushbackInputStream class for specified stream
          InputStream is = new ByteArrayInputStream(byteArray);
          PushbackInputStream pis = new PushbackInputStream(is);
          
          try {
             // skip a byte
             pis.skip(1);
    
             // read from the buffer one character at a time
             for (int i = 0; i < byteArray.length - 1; i++) {
    
                // read a char into our array
                arrByte[i] = (byte) pis.read();
    
                // display the read byte
                System.out.print((char) arrByte[i]);
             }
          } catch (Exception ex) {
             ex.printStackTrace();
          }
       }
    }
    
    让我们编译并运行以上程序,这将产生以下结果-
     
    ello