Java DataInputStream.skipBytes()
方法
原文:https://www.studytonight.com/java-file-io/java-datainputstream-skipbytes-method
在本教程中,我们将学习 Java 中 DataInputStream 类的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
结论
在本教程中,我们学习了 Java 中 DataInputStream 类的skipBytes()
方法,该方法从给定的输入流中跳过“n”个字节的数据,并返回跳过的确切字节数。