2010-12-06 7 views
0

私がやっていることは、保存されたテキスト文書から数字を引っ張っているテキスト文書で作業していて、各行に固有の番号があり、 !、これらのコードを使用すると、NullPointerExceptionが発生していますが、理由はわかりません。"list.clear()"のNullPointerException

スタックトレースなし
try{ 

       File f = new File(extStorageDirectory+"/data.txt"); 

       FileInputStream fileIS = new FileInputStream(f); 

       BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS)); 

       String readString = new String(); 

       integers.clear(); 
       char check; 
       while((readString = buf.readLine())!= null){ 
        check = readString.charAt(0); 
        if(check == '!'){ 

        } 
        else{ 
         //integers.add(0,Integer.parseInt(readString)); 
         if(check == 0){ 
          integers.add(0); 
         } else { 
          if(check == 1) { 
           integers.add(1); 
          } else { 
           if(check == 2){ 
            integers.add(2); 
           } 
          } 
         } 
        } 
       } 
      } catch (Exception e) { 
       Toast.makeText(getApplicationContext(),"Find Data: "+e.toString(),Toast.LENGTH_LONG).show(); 
      } 
+2

...初期化されることはありませんか? – EboMike

答えて

1

NullPointerExceptionが上に何が起こるかを行数、我々は唯一の推測することができます示します。投稿されたコードを見ると、integersはどこにでも初期化されていません。したがってintegers.clear()は潜在的にNullPointerExceptionを投げている可能性があります。おそらく、あなたは行が欠落しているように:それは前integers.clear();への呼び出しに実行どこ

integers = new ArrayList<Integer>(); 

PUTがどこかにあります。あなたの現在のコードスニペットで

+0

申し訳ありませんが、私はstacktraceをチェックするのを忘れてしまったことは認めていますが、すべてのアプリケーションが初期化され、アプリケーション全体を処理していると仮定できます。 – Samuel

+0

初期化されましたが、私は誤ってメソッドを呼び出した後にそれを初期化しました。正しい方向に私を入れてくれてありがとう、ルーキーミス – Samuel

+0

問題ありません。場合によってはコード上に2番目の目が必要な場合もあります。 :) – Asaph

1

整数

は、あなたがそれをどのようなラインを上取得している

関連する問題