我在文件上写一个浮点数时出现未知字符

时间:2012-12-04 17:37:16

标签: java android io

当我在文件上写一个浮点数时,我得到一系列未知字符(符号)但不是浮点数。

DataOutputStream dos = new DataOutputStream( new FileOutputStream(filename,true));
        dos.writeLong((long)data);
        dos.writeChars(" ");
        dos.writeFloat((float) mAcceleration[0]);
        dos.writeChars(" ");
        dos.close();

使用long和float创建文件:

 Îîð}  ¾W¿ 

我也试过浮动,我也得到了未知的角色。怎么了?

float f=4.3423f;
DataOutputStream dos = new DataOutputStream( new FileOutputStream(file,true));
dos.writeFloat(f);
dos.close();

3 个答案:

答案 0 :(得分:2)

因为你无法读取二进制文件,所以它是用二进制文写的,这就是为什么这些是non human-readable个字符

DataOutputStream is binary stream

答案 1 :(得分:1)

使用PrintWriter将人类可读的内容写入文件。

答案 2 :(得分:0)

你必须使用DataInputStream readFloat()和readhChars()来读取数据,如果你捕获文件,它将以二进制格式转储内容。