Java DataInputStream.readDouble()方法

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

在本教程中,我们将学习 JavaDataInputStream 类的readDouble()方法。此方法用于读取 8 个输入字节(即 64 位),并返回一个双精度值。这是一个非静态方法,在 java.io 包中可用。

句法

这是此方法的语法声明。它不接受任何参数,并返回由当前输入流的下八个字节解释的双精度值。

public final double readDouble() throws IOException

示例:用 Java 中的 DataInputStram 读取数据

在本例中,我们以 double 类型从文件中读取数据,其大小将为 64 位,这里需要注意的重要观察是,即使提供的数据是Integer类型,它也会执行类型转换,并将其转换为 Double 类型。

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\\output.txt"); 

        DataInputStream dataInputStream = new DataInputStream(inputStream); 

        while(dataInputStream.available()>0)
        {               
            System.out.print(" "+dataInputStream.readDouble());  
        }  
    }  
}

17.0 15.0 26.0 31.0 40.0

输出. txt

17
15
26
31
40

示例:用 Java 中的 DataInputStram 读取数据

当我们尝试使用 readDouble()从文件中读取数据,并且数据不可用或者流的指针指向文件的结尾时,它将抛出一个异常 EOFException,即文件结尾异常。

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); 
        while(dataInputStream.available()>0)
        {               
            System.out.print(" "+dataInputStream.readDouble());  
        }  
    }  
}

线程“main”Java . io . eofexception 在 Java . base/Java . io . datainputstream . readfully(datainputstream . Java:201) 在 Java . base/Java . io . datainputstream . readlong(datainputstream . Java:420) 在 Java . base/Java . io . datainputstream . readdouble(datainputstream . Java:472) 在今晚的学习中出现异常。study south . main(study south . Java:16)

结论

在本教程中,我们学习了 JavaDataInputStream 类的readDouble()方法,该方法读取双精度值的 8 个输入字节并返回读取的双精度值。只能使用类对象访问此方法,尝试使用类名访问它将导致错误。