Search code examples
androidandroid-studioreadfileandroid-file

Read data of type double from a text file in Android


I want to read data of type double saved in a .txt file from a previously specified folder. I've implemented the following code to read data then put them in an array of type double named savg1. when I run my application , it going to crash and the application stop. I tried to debug the application step by step and found that crash happens when the code reaches to savg1[i] = Double.parseDouble(str).

public void filereader()
{

    InputStream is=this.getResources().openRawResource(R.raw.nums);
    BufferedReader br=new BufferedReader(new InputStreamReader(is));
    String str=null;
    int i=0;
    try
    {
        if (is !=null)
        {
            str=br.readLine();
            while (str != null) {
                savg1[i] = Double.parseDouble(str);
                i++;
                str=br.readLine();
            }
            is.close();
            br.close();
        }
    } catch (IOException e)
    {
        e.printStackTrace();
    }

}

I am a newbie in Android developing so excuse me about my elementary question. Can anybody guide me how I can solve this problem?


Solution

  • Use following code to read data from your file. Note that in this method each number should be in a separate line:

        double svg1[] = new double[10];
    
        try {
            InputStream is = getResources().openRawResource(R.raw.data);
            DataInputStream dis = new DataInputStream(is);
            while (dis.available() > 0) {
                String test = dis.readLine();
                double a = Double.parseDouble(test);
            }
        }catch (Exception e){
            e.printStackTrace();
        }