Java.io.RandomAccessFile.skipBytes() 方法

  • 描述

    java.io.RandomAccessFile.skipBytes(int n) 方法尝试跳过n个字节的输入丢弃跳过的字节。此方法可能会跳过一些较小的字节数,可能为零。这可能由多种情况中的任何一种引起;在跳过 n 个字节之前到达文件末尾只是一种可能性。此方法从不抛出 EOFException。返回实际跳过的字节数。如果 n 为负,则不跳过任何字节。
  • 声明

    以下是java.io.RandomAccessFile.skipBytes()方法的声明。
     public void skipBytes(int n)
  • 参数

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

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

    IOException - 如果发生 I/O 错误。
  • 例子

    以下示例显示java.io.RandomAccessFile.read()方法的用法。
     
    package com.jc2182;
    
    import java.io.*;
    
    public class RandomAccessFileDemo {
       public static void main(String[] args) {
       
          try {
             // create a new RandomAccessFile with filename test
             RandomAccessFile raf = new RandomAccessFile("c:/test.txt", "rw");
    
             // write something in the file
             raf.writeUTF("Hello World");
    
             // set the file pointer at 0 position
             raf.seek(0);
    
             // print the string
             System.out.println("" + raf.readUTF());
    
             // set the file pointer at 0 position
             raf.seek(0);
    
             // attempt to skip 10 bytes and print the number of bytes skipped
             System.out.println("" + raf.skipBytes(10));
    
             // print what is left after skipping
             System.out.println("" + raf.readLine());
    
             // set the file pointer to position 8
             raf.seek(8);
    
             // attempt to skip 10 more bytes and print the number of bytes skipped
             System.out.println("" + raf.skipBytes(10));
             
          } catch (IOException ex) {
             ex.printStackTrace();
          }
       }
    }
    
    假设我们有一个文本文件c:/test.txt,其内容如下。该文件将用作我们示例程序的输入 -
     
    ABCDE  
    
    让我们编译并运行以上程序,这将产生以下结果-
     
    Hello World
    10
    rld
    5