Java DataOutputStream writeDouble()方法与示例

DataOutputStream类writeDouble()方法

  • 在java.io包中提供了writeDouble()方法

  • writeDouble()方法用于将给定的double值写入基本DataOutputStream。

  • writeDouble()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在写入double时,writeDouble()方法可能会引发异常。
    IOException:在获取任何输入/输出错误时,可能引发此异常。

语法:

    public final void writeDouble(double val);

参数:

  • double val –表示要写入数据输出流的double值。

返回值:

该方法的返回类型为void,不返回任何内容。

示例

//Java程序演示示例 
//void writeDouble(double val)方法 
//DataOutputStream的

import java.io.*;

public class WriteDoubleOfDOS {
 public static void main(String[] args) throws Exception {
  InputStream is_stm = null;
  DataInputStream dis_stm = null;
  FileOutputStream fos_stm = null;
  DataOutputStream dos_stm = null;

  double[] d = {
   10.0,
   20.0,
   30.0,
   40.0,
   50.0
  };

  try {
   //实例化FileInputStream- 
   //DataInputStream,FileOutputStream-
   //和DataOutputStream- 
   fos_stm = new FileOutputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
   dos_stm = new DataOutputStream(fos_stm);
   is_stm = new FileInputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
   dis_stm = new DataInputStream(is_stm);

   for (double val: d) {
    //通过使用writeDouble()方法isto-
    //将double值写入
    //DataOutputStream dos_stm-
    dos_stm.writeDouble(val);
   }


   //通过使用flush()方法isto-
   //将字节刷新到基本 
   //输出流         
   dos_stm.flush();

   //循环读取可用数据直到结束
   while (dis_stm.available() > 0) {
    //通过使用readDouble()isto方法读取 
    //从dis_stm翻倍
    double val = dis_stm.readDouble();
    System.out.println("dos_stm.writeDouble(val): " + val);
   }
  } 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();
  }
 }
}

输出结果

dos_stm.writeDouble(val): 10.0
dos_stm.writeDouble(val): 20.0
dos_stm.writeDouble(val): 30.0
dos_stm.writeDouble(val): 40.0
dos_stm.writeDouble(val): 50.0