-2

ファイルにfloatを書き込むと、不明な文字(記号)のシーケンスが表示されますが、floatは取得されません。

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 に答える