2016-09-16 39 views
0

.txtファイルに保存されたdouble型のデータを、以前に指定したフォルダから読み込みたいとします。私は次のコードを実装してデータを読み込み、savg1というdouble型の配列に格納しました。アプリケーションを実行するとクラッシュし、アプリケーションが停止します。私はアプリケーションをステップバイステップでデバッグしようとしましたが、コードがsavg1 [i] = Double.parseDouble(str)に達するとクラッシュが発生することがわかりました。Androidのテキストファイルからdouble型のデータを読み込みます。

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(); 
    } 

} 

私はAndroidの初心者ですので、私の初心者の質問について私におやじです。誰も私にこの問題を解決する方法を教えてもらえますか?

+0

ワン明白な理由の配列は小さいですし、あなたはバインドされた例外 – Selvin

+0

私の配列の長さが1000000であり、私のテキストファイル番号が1000000であるインデックスを取得している、私はこれは問題だとは思わない。 –

+0

あなたは何を得ていますか? – Guenther

答えて

1

次のコードを使用して、ファイルからデータを読み取ります。あなたが怒鳴るなどのテキストファイルに保存されたdouble型のデータを読み込むためのファイルスキャナを使用することができます

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(); 
    } 
+0

拝啓、ありがとうございます。 –

0

:この方法では、各番号が別の行になければならないことに注意してください

public void fileReader(){ 

    Scanner scan; 
    File file = new File("resources\\scannertester\\data.txt"); 
    int idx = 0; 
    try { 
     scan = new Scanner(file); 
     while(scan.hasNextDouble()) 
      savg1[idx++] = scan.nextDouble(); 
    } catch (FileNotFoundException error) { 
     error.printStackTrace(); 
    } 
    scan.close(); 
} 
+0

ありがとうございますが、ファイルパスをどのように設定する必要がありますか、どこにファイルを置く必要がありますか?これは本当ですか? "C:\ Users \ Hanieh \ Desktop \ nums.txt: –

+0

はい他の賢明な方法は、スキャナクラスのパスを設定する –

関連する問題