Android - 从.txt文件

时间:2018-03-29 11:35:28

标签: android file io floating-point

我想从.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,需要我在运行时授予权限吗?

1 个答案:

答案 0 :(得分:0)

获取浮动值时,如下面的代码转换为浮点数。 例如:;

float l= (float) 6.123456;
Log.d("FLOAT VALUE", Float.toString(l));

您在代码中更改此方法..

float f =(float) din.readFloat();