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)”)然后在 process 函数中输入:

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

我花了 4 个小时才弄清楚这么愚蠢的事情。

于 2013-03-19T19:09:09.093 回答
0

MaybegetAssets()为 null 并尝试检查文件 twinone.txt 是否存在,如果存在则尝试输入完整的文件路径并重新运行您的应用程序!

于 2013-03-19T18:19:26.977 回答
-1

您打开的文件没有完整路径,这就是错误的原因。尝试

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