-2

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

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();
4

3 回答 3

2

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

DataOutputStream is binary stream
于 2012-12-04T17:40:22.973 回答
1

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

于 2012-12-04T18:12:33.253 回答
0

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

于 2012-12-04T17:42:48.203 回答