0

NullPointerException エラーが発生するコードは次のとおりです。

InputStream is = getAssets().open("twentyone.txt");
InputStreamReader iz=new InputStreamReader(is);
BufferedReader br = new BufferedReader(iz);

何がうまくいかないのですか?

*編集: printStackTrace

03-19 18:20:18.662: E/AndroidRuntime(929): Caused by: java.lang.NullPointerException

編集 2: 例外までのコード:

public class ListViewAa3 extends ListViewA{



public String[] process(String cti)throws IOException{
    String ctid=cti;
    Log.d("Outside try invoked","tag1");
    try{
        Log.d("beginning of try invoked","tag2");
        try{
    InputStream is = getAssets().open("USCOUNTIES.txt");
    InputStreamReader iz=new InputStreamReader(is);
    BufferedReader br = new BufferedReader(iz);}catch(Exception e){e.printStackTrace();}
4

3 に答える 3

2

はい、分かりました。メインアクティビティのコンテキストをこのクラスに渡してから、context.getAssets.open("twentyone.txt");

同じ問題を抱えている人は、次のようにします。アクティビティを含むクラスのonCreate関数にこれを配置します。 Context context=getApplicationContext();

新しいクラスの関数にコンテキストを渡します(私の場合は "process(String a、Context context)")次に、プロセス関数に次のように入力します。

InputStream is = context.getAssets().open("twentyone.txt");

そのようなばかげたことを理解するのに4時間かかりました。

于 2013-03-19T19:09:09.093 に答える
0

たぶんgetAssets()nullで、ファイルtwentyone.txtが存在するかどうかを確認してみてください。存在する場合は、完全なファイルパスを入力して、アプリケーションを再実行してください。

于 2013-03-19T18:19:26.977 に答える
-1

開いたファイルにフル パスがないため、エラーが発生します。試す

new File("twentyone.txt").getAbsolutePath()
于 2013-03-19T18:22:19.590 に答える