使用readFloat()从文件中读取浮点值

时间:2013-05-29 20:32:01

标签: android file-io readfile

我正在尝试从txt文件中读取浮点值,但我总是得到值0.我使用writeFloat()在文件上写入值并使用readFloat()读取。如果我在计算机上阅读(例如Matlab),我会得到正确的值,但如果我读了我的代码,那么我得到0作为读取值。我的代码出了什么问题?

我添加了WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限,文件路径正确。

写入值

try{
    DataOutputStream dos = new DataOutputStream( new FileOutputStream(filename,true));
    for (int i=0; i<100; i++)
        dos.writeFloat(value[i]);
    dos.close();
  }
catch(Exception e){;}

读取值

String strFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp/Values.txt";


try
{
  FileInputStream fin = new FileInputStream(strFilePath:);

   DataInputStream dis = new DataInputStream(fin);

    float f;
    for (int i=0; i<100; i++) {
        f = dis.readFloat();
        Log.d("TAG", "float " + Float.toString(f));
    }

     dis.close();
   }
catch(FileNotFoundException fe)
{
  Log.d("ERROR", "FileNotFoundException : " + fe);
}
catch(IOException ioe)
{
  Log.d("ERROR","IOException : " + ioe);
}

0 个答案:

没有答案