DataInputStream readDouble() method in Java with Examples
Last Updated :
05 Jun, 2020
The
readDouble() method of
DataInputStream class in Java is used to read eight input bytes and returns a double value. This method reads the next eight bytes from the input stream and interprets it into double type and returns.
Syntax:
public final double readDouble()
throws IOException
Specified By: This method is specified by readDouble() method of
DataInput interface.
Parameters: This method does not accept any parameter.
Return value: This method returns the double value interpreted by the next eight bytes of the input stream.
Exceptions:
- EOFException - It throws EOFException if the input stream is ended before eight bytes can be read.
- IOException - This method throws IOException if the stream is closed or some other I/O error occurs.
Below programs illustrate readDouble() method in DataInputStream class in IO package:
Program 1: Assume the existence of file "demo.txt".
Java
// 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());
}
}
}
Output:
Program 2: Assume the existence of file "demo.txt".
Java
// 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());
}
}
}
Output:
References:
https://docs.oracle.com/javase/10/docs/api/java/io/DataInputStream.html#readDouble()
Explore
Java Basics
OOP & Interfaces
Collections
Exception Handling
Java Advanced
Practice Java