Java DataInputStream.skipBytes()方法

原文:https://www.studytonight.com/java-file-io/java-datainputstream-skipbytes-method

在本教程中,我们将学习 JavaDataInputStream 类的skipBytes()方法。此方法用于从给定的 DataInputStream 中跳过给定的“n”字节数的数据。这是一个非静态的方法,在 java.io 包中提供,它从不抛出一个 EOFException。

句法

这是这个方法的语法。它以要跳过的字节数‘n’为参数,返回实际跳过的字节数。

public final int skipBytes(int n) throws IOException

示例:在 Java 中跳过字节

在这个例子中,我们实现了skipBytes()方法来跳过给定流中的字节数。在这里,我们可以看到我们传递了 6 作为参数来跳过 6 个字节,然后我们在跳过前 6 个字节后得到输出。

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class StudyTonight 
{
    public static void main(String[] args) throws IOException 
    { 
        FileInputStream inputStream  = new FileInputStream("E:\\studytonight\\file.txt"); 
        DataInputStream dataInputStream = new DataInputStream(inputStream); 
        dataInputStream.skipBytes(6);
        int count = inputStream.available();
        byte[] byte_arr = new byte[count]; 
        int bytes = dataInputStream.read(byte_arr); 
        for (byte b : byte_arr)
        { 
            System.out.print((char)b); 
        } 
    }  
}

今晚学习

输出. txt

Hello Studytonight

示例:获取 Java 中的跳过字节

这里,我们跳过给定流中的 2 个字节,这样它就不会从给定流中读取前 2 个字节,然后打印下一个数据。我们可以看到字节数组中只有 3 个字节的数据,前 2 个字节被跳过。

import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class StudyTonight 
{
    public static void main(String[] args) throws IOException 
    { 
        byte[] byte_arr = { 10, 20, 30, 40, 50 }; 
        ByteArrayInputStream byteArrayInputStr = new ByteArrayInputStream(byte_arr); 
        DataInputStream dataInputStr = new DataInputStream(byteArrayInputStr); 
        dataInputStr.skipBytes(2);  
        while (dataInputStr.available() > 0) 
        { 
            System.out.println(dataInputStr.readByte()); 
        } 
    }  
}

30 40 50

结论

在本教程中,我们学习了 JavaDataInputStream 类的skipBytes()方法,该方法从给定的输入流中跳过“n”个字节的数据,并返回跳过的确切字节数。