Java DataInputStream.readByte()方法

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

在本教程中,我们将学习 JavaDataInputStream 类的readByte()方法。此方法用于读取和返回从当前输入流中读取的单个输入字节,该字节是-128 到+127 范围内的有符号值。

这是一个非静态方法,可在 java.io 包中获得。

句法

这是这个方法的语法。它不接受任何参数,并返回从当前输入流中读取的带符号 8 位字节值。

public final byte readByte() throws IOException

示例:用 Java 读取字节数组

在这个例子中,我们使用readByte()方法从字节数组中读取数据,这里它将一个接一个地返回数组元素,因为我们正在调用这个方法,直到数据在 DataInputStream 中可用。

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);   
        while (dataInputStr.available() > 0) 
        { 
            System.out.println(dataInputStr.readByte()); 
        } 
    }  
}

10 20 30 40 50

示例 2:用 Java 读取字节数组

这里,我们讨论的是当流中没有数据时,DataInputStream抛出的异常,或者另一方面,我们可以说DataInputStream指针到达文件的末尾,它将抛出一个异常,即EOFException

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 = {}; 
        ByteArrayInputStream byteArrayInputStr = new ByteArrayInputStream(byte_arr); 
        DataInputStream dataInputStr = new DataInputStream(byteArrayInputStr);   
        System.out.println(dataInputStr.readByte());          
    }  
}

在 Java . base/Java . io . datainputstream . read byte(datainputstream . Java:271)处的" main "线程 Java . io . eofeexception 中出现异常

结论

在本教程中,我们学习了 JavaDataInputStream 类的readByte()方法,该方法读取并返回单个输入字节,该字节是-128 到+127 范围内的有符号值。