Java DataInputStream readDouble()方法与示例
DataInputStream类readDouble()方法
readDouble()方法在java.io包中可用。
readDouble()方法用于读取8个字节(即64位)的双精度值,并返回读取的双精度值。
readDouble()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
readDouble()方法在读取double时可能会引发异常
IOException:如果未打开此流,则可能引发此异常。
EndOfFileException:当此流到达其端点时,可能引发此异常。
语法:
public final double readDouble();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为double,它返回8个字节的数据输入,并作为double操作。
示例
//Java程序演示示例
//方法
//DataInputStream-
import java.io.*;
public class ReadDoubleOfDIS {
public static void main(String[] args) throws IOException {
InputStream is_stm = null;
DataInputStream dis_stm = null;
FileOutputStream fos_stm = null;
DataOutputStream dos_stm = null;
double[] d_arr = {
97.0,
98.0,
99.0,
100.0,
101.0
};
try {
//实例化FileInputStream-
//DataInputStream-, FileOutputStream
//和DataOutputStream-
fos_stm = new FileOutputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dos_stm = new DataOutputStream(fos_stm);
//循环写入每个双至结尾
for (double val: d_arr) {
//通过使用writeDouble()方法isto-
//写一个双至
//DataOutputStreamdos_stm-
dos_stm.writeDouble(val);
}
is_stm = new FileInputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dis_stm = new DataInputStream(is_stm);
//循环读取可用数据直到结束
while (dis_stm.available() > 0) {
//通过使用readDouble()isto方法读取
//一次翻倍
double d = dis_stm.readDouble();
System.out.println("dis_stm.readDouble(): " + d);
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
//要释放链接的系统资源
//这些流
if (is_stm != null)
is_stm.close();
if (dis_stm != null)
dis_stm.close();
if (dos_stm != null)
dos_stm.close();
if (fos_stm != null)
fos_stm.close();
}
}
}输出结果
dis_stm.readDouble(): 97.0 dis_stm.readDouble(): 98.0 dis_stm.readDouble(): 99.0 dis_stm.readDouble(): 100.0 dis_stm.readDouble(): 101.0