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()