将浮点数写入File

时间:2013-04-28 19:22:30

标签: java java-io

我在两个文件中有浮点数。我想将它们写入单个文件。当我在写完文件后打开文件时,我看不到浮点数。我可以看到一些机器代码或其他东西。这是我的代码

import java.io.*;
import java.util.*;
public class F
{
   public static void main(String args[]) throws Exception
{
    FileInputStream fr1 = new FileInputStream("distance.txt"); 
    BufferedReader br1 = new BufferedReader(new InputStreamReader(fr1)); 
    FileInputStream fr2 = new FileInputStream("price.txt"); 
    BufferedReader br2 = new BufferedReader(new InputStreamReader(fr2));
    FileOutputStream fw1 = new FileOutputStream("file1.txt");
    BufferedOutputStream bos=new BufferedOutputStream(fw1);
    DataOutputStream dos=new DataOutputStream(bos); 
    String s1,s2;
    while(((s1 = br1.readLine()) != null) && ((s2=br2.readLine())!=null))
    {
        float a1=Float.parseFloat(s1);
        float a2=Float.parseFloat(s2);
        a1=a1*10;
        a2=a2*10000;
        System.out.println(a1+" "+a2);
        dos.writeFloat(a1);
        dos.writeFloat(a2);

    }
}
}

1 个答案:

答案 0 :(得分:4)

您正在以二进制格式编写浮点数。

注意:DataInput / OutputStream用于二进制格式,Reader / Writers用于文本格式。

我建议您使用PrintWriter来编写文本。

BTW您可以使用FileReader而不是FileInputStream和InputStreamReader。