📅  最后修改于: 2023-12-03 15:31:51.781000             🧑  作者: Mango
DataInputStream类继承自FilterInputStream,提供了一种从底层输入流中读取基本数据类型的功能。其中,readUnsignedByte()
方法用于从输入流中读取一个无符号的8位整数,并以整数形式返回。
此方法是无符号操作,因此它忽略了输入流中的符号位,以便返回0到255之间的值。
public final int readUnsignedByte() throws IOException
无
返回的整数是0到255之间的值。
EOFException
: 如果输入流已经结束,则抛出该异常。下面的代码展示了如何使用DataInputStream readUnsignedByte()
方法读取文件中的无符号字节,并将其打印到控制台上。
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class Example {
public static void main(String[] args) {
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.bin"))) {
int b = 0;
while ((b = dis.readUnsignedByte()) != -1) {
System.out.println(b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码中,我们使用DataInputStream
来读取一个名为“data.bin”的二进制文件。在while循环中,我们使用readUnsignedByte()
方法来连续读取每个无符号字节,并将其打印到控制台上。
需要注意的是,如果输入流已经结束,将会抛出EOFException
异常。因此,在catch块中,我们捕获了这个异常并打印了异常信息。
DataInputStream readUnsignedByte()
方法用于从底层输入流中读取一个无符号的8位整数,并以整数形式返回。此方法是无符号操作,返回值可取0到255之间的值。如果输入流已经结束,则会抛出EOFException异常。