Java DataInputStream.readDouble()
方法
原文:https://www.studytonight.com/java-file-io/java-datainputstream-readdouble-method
在本教程中,我们将学习 Java 中 DataInputStream 类的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)
结论
在本教程中,我们学习了 Java 中 DataInputStream 类的readDouble()
方法,该方法读取双精度值的 8 个输入字节并返回读取的双精度值。只能使用类对象访问此方法,尝试使用类名访问它将导致错误。