我想从.txt文件中读取数百万个浮点值,但是现在我首先尝试从包含1.2345的“test.txt”文件中读取一个浮点值。我把它放在我的Android项目的assets目录中。
然后我尝试读取浮点值: @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
setContentView(new MyView(this));
readFloatFromFile();
}
public void readFloatFromFile() {
try{
InputStream is = getAssets().open("Test.txt");
DataInputStream din = new DataInputStream(is);
float f = din.readFloat();
Log.d("FLOAT VALUE", Float.toString(f));
}
catch(FileNotFoundException fe)
{
System.out.println("FileNotFoundException : " + fe);
}
catch(IOException ioe)
{
System.out.println("IOException : " + ioe);
}
}
但是日志打印出来的是D/FLOAT VALUE: 6.337074E-10
我一直在网上寻找一段时间,但到目前为止我还没有找到另一种方法。此外,如果我尝试从SD卡上的某个路径打开文件,我会找不到文件并拒绝权限。这是因为我正在运行Android 6.0,需要我在运行时授予权限吗?
答案 0 :(得分:0)
获取浮动值时,如下面的代码转换为浮点数。 例如:;
float l= (float) 6.123456;
Log.d("FLOAT VALUE", Float.toString(l));
您在代码中更改此方法..
float f =(float) din.readFloat();