Java Java.io.DataInputStream.readFloat() 方法

  • 描述

    java.io.DataInputStream.readFloat()方法读取输入流的四个字节,并返回一个float值。
  • 声明

    以下是java.io.DataInputStream.readFloat()方法的声明-
     public final float readFloat()
  • 参数

    不适用
  • 返回值

    此方法返回4个字节,这些字节被解释为浮点值。
  • 异常

    • IOException如果发生I / O错误或流已关闭。
    • EOFException如果此输入流在读取四个字节之前到达末尾。
  • 例子

    以下示例显示java.io.DataInputStream.readFloat()方法的用法。
     
    package com.jc2182;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class DataInputStreamDemo {
       public static void main(String[] args) throws IOException {
          InputStream is = null;
          DataInputStream dis = null;
          FileOutputStream fos = null;
          DataOutputStream dos = null;
          float[] fbuf = {65.56f,66.89f,67.98f,68.82f,69.55f,70.37f};
          
          try {
             // create file output stream
             fos = new FileOutputStream("c:\\test.txt");
             
             // create data output stream
             dos = new DataOutputStream(fos);
             
             // for each byte in the buffer
             for (float f:fbuf) {
             
                // write float to the data output stream
                dos.writeFloat(f);         
             }
             
             // force bytes to the underlying stream
             dos.flush();
             
             // create file input stream
             is = new FileInputStream("c:\\test.txt");
             
             // create new data input stream
             dis = new DataInputStream(is);
             
             // read till end of the stream
             while(dis.available()>0) {
             
                // read character
                float c = dis.readFloat();
                
                // print
                System.out.print(c + " ");
             }
             
          } catch(Exception e) {
             // if any I/O error occurs
             e.printStackTrace();
          } finally {
             // releases all system resources from the streams
             if(is!=null)
                is.close();
             if(dos!=null)
                is.close();
             if(dis!=null)
                dis.close();
             if(fos!=null)
                fos.close();
          }
       }
    }
    
    让我们编译并运行以上程序,这将产生以下结果-
     65.56 66.89 67.98 68.82 69.55 70.37