当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ObjectInputStream readFloat()用法及代码示例


ObjectInputStream 类的 readFloat() 方法用于读取 32 位浮点数。

用法

public float readFloat()throws IOException

参数

没有传递参数。

返回

32 位浮点数读取。

抛出

EOFException - 如果到达文件末尾。

IOException - 如果发生其他 I/O 错误。

例子1

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 ObjectInputStreamreadFloatExample1  {
   public static void main(String[] args) throws IOException {
      
      float[] buf = {1 , 2 , 6 , 6 , 7 , 3};
      
      try {
         // create file output stream
       FileOutputStream   fileoutstream = new FileOutputStream("file1.txt");
         
         // create data output stream
        DataOutputStream dataoutstream = new DataOutputStream(fileoutstream);
         
         // for each byte in the buffer
         for (float b:buf) {
            // write character to the dos
            dataoutstream.writeFloat(b);
         }
         
         // force bytes to the underlying stream
         dataoutstream.flush();
         
         // create file input stream
         InputStream inpstream = new FileInputStream("file1.txt");
         
         // create new data input stream
        DataInputStream datainpstream = new DataInputStream(inpstream);
         
         // read till end of the stream
         while(datainpstream.available()>0) {
         
            // read character
            Float c = datainpstream.readFloat();
            
            // print
            System.out.print("    "+c);
         }
         
      } catch(Exception e) {
            
         e.printStackTrace();
      } 
   }
}

输出:

1.0    2.0    6.0    6.0    7.0    3.0

例子2

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 ObjectInputStreamreadFloatExample2 {
   public static void main(String[] args) throws IOException {
      
      double[] carray = {21.0, 22.0 , 23.0 , 45.0 , 67.9 , 66.0};
      
      try {
         // create file output stream
       FileOutputStream   fileoutstream = new FileOutputStream("file1.txt");
         
         // create data output stream
        DataOutputStream dataoutstream = new DataOutputStream(fileoutstream);
         
         // for each byte in the buffer
         for (double b:carray) {
            // write character to the dos
            dataoutstream.writeDouble(b);
         }
         
         // force bytes to the underlying stream
         dataoutstream.flush();
         
         // create file input stream
         InputStream inpstream = new FileInputStream("file1.txt");
         
         // create new data input stream
        DataInputStream datainpstream = new DataInputStream(inpstream);
         
         // read till end of the stream
         for(int i=0;i<=carray.length;i++){ 
         
            // read double values in float format
            float c = datainpstream.readFloat();
            
            // print
            System.out.print("    "+c);
         }
         
      } catch(Exception e) {
        
      } 
   }
}

输出:

2.828125    0.0    2.84375    0.0    2.859375    0.0    3.1015625




相关用法


注:本文由纯净天空筛选整理自 Java ObjectInputStream readFloat() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。