Java DataInputStream.readBoolean()方法

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

在本教程中,我们将学习 JavaDataInputStream 类的readBoolean()方法。此方法用于检查该流是否读取布尔值。它读取一个输入字节,如果读取的字节为零,则返回 false,如果读取的字节非零,则返回 true。

句法

这是这个方法的语法。它不接受任何参数,并返回读取的布尔值,即真或假。

public final boolean readBoolean() throws IOException

示例:DataInputStream读取布尔()方法

下面的示例从字节流中读取值,这里我们有趣地注意到,除了 0(零)之外,它将非零值视为真值,这就是它仅在字节数组中出现零的位置打印假值的原因。

import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class StudyTonight 
{
    public static void main(String[] args) throws IOException 
    { 
        byte[] b = { 10, 5, 7, 1, 0 }; 
        ByteArrayInputStream byteArrayInputStr = new ByteArrayInputStream(b);   
        DataInputStream dataInputStr = new DataInputStream(byteArrayInputStr);   
        while (dataInputStr.available() > 0)
        { 
            System.out.println(dataInputStr.readBoolean()); 
        } 
    }  
}

真 真 真 真 假

示例:DataInputStream读取布尔()方法

这里,我们将说明另一个场景,我们将从字节数组中读取数据,但是这里有一些负值,但是 readByte()方法认为它们是真的,这意味着该方法认为零(0)为假,除此之外,所有值都是真的。

import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class StudyTonight 
{
    public static void main(String[] args) throws IOException 
    { 
        byte[] b = { -1, 10, 5, 6, 0 }; 
        ByteArrayInputStream byteArrayInputStr = new ByteArrayInputStream(b);   
        DataInputStream dataInputStr = new DataInputStream(byteArrayInputStr);   
        int count=dataInputStr.available();
        while (count > 0)
        { 
            System.out.println(dataInputStr.readBoolean()); 
            count--;
        } 
    }  
}

真 真 真 真 假

结论

在本教程中,我们学习了 JavaDataInputStream 类的readDouble()方法,用于检查当前流是否读取布尔值,如果是,则返回布尔值 true,如果不是,则返回布尔值 false。