📌  相关文章
📜  Java中的 DataInputStream readDouble() 方法及示例

📅  最后修改于: 2022-05-13 01:55:37.613000             🧑  作者: Mango

Java中的 DataInputStream readDouble() 方法及示例

Java中DataInputStream类的readDouble()方法用于读取8个输入字节并返回一个double值。此方法从输入流中读取接下来的 8 个字节并将其解释为双精度类型并返回。

句法:

public final double readDouble()
                  throws IOException

指定者:该方法由DataInput接口的readDouble()方法指定。

参数:此方法不接受任何参数。

返回值:此方法返回由输入流的下八个字节解释的双精度值。

例外:

  • EOFException – 如果输入流在八个字节被读取之前结束,则抛出EOFException
  • IOException – 如果流关闭或发生其他 I/O 错误,此方法将引发IOException

下面的程序说明了 IO 包中 DataInputStream 类中的 readDouble() 方法:

程序1:假设文件“demo.txt”存在。

// Java program to illustrate
// DataInputStream readDouble() method
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create double array
        double[] buf = { 10, 20, 30, 40, 50 };
  
        // Create file output stream
        FileOutputStream outputStream
            = new FileOutputStream("c:\\demo.txt");
  
        // Create data output stream
        DataOutputStream dataOutputStr
            = new DataOutputStream(outputStream);
  
        for (double b : buf) {
            // Write double value to
            // the dataOutputStream
            dataOutputStr.writeDouble(b);
        }
  
        dataOutputStr.flush();
  
        // Create file input stream
        FileInputStream inputStream
            = new FileInputStream("c:\\demo.txt");
  
        // Create data input stream
        DataInputStream dataInputStr
            = new DataInputStream(inputStream);
  
        while (dataInputStr.available() > 0) {
            // Print double values
            System.out.println(
                dataInputStr.readDouble());
        }
    }
}
输出:

程序2:假设文件“demo.txt”存在。

// Java program to illustrate
// DataInputStream readDouble() method
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create double array
        double[] buf = { 10.9, 20.8,
                         30.88, 40.76,
                         50.678 };
  
        // Create file output stream
        FileOutputStream outputStream
            = new FileOutputStream("c:\\demo.txt");
  
        // Create data output stream
        DataOutputStream dataOutputStr
            = new DataOutputStream(outputStream);
  
        for (double b : buf) {
            // Write double value to
            // the dataOutputStream
            dataOutputStr.writeDouble(b);
        }
  
        dataOutputStr.flush();
  
        // Create file input stream
        FileInputStream inputStream
            = new FileInputStream("c:\\demo.txt");
  
        // Create data input stream
        DataInputStream dataInputStr
            = new DataInputStream(inputStream);
  
        while (dataInputStr.available() > 0) {
            // Print double values
            System.out.println(
                dataInputStr.readDouble());
        }
    }
}
输出:

参考:
https://docs.oracle.com/javase/10/docs/api/java Java()