InputStream返回NullPointerException(Java)

InputStream返回NullPointerException(Java),java,android,nullpointerexception,inputstream,Java,Android,Nullpointerexception,Inputstream,以下是获取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): Cau

以下是获取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();}

可能
getAssets()
为空并尝试检查文件twentyone.txt是否存在,如果存在,则尝试输入完整的文件路径并重新运行应用程序

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

new File("twentyone.txt").getAbsolutePath()

好的,我知道了。我必须将主要活动的上下文传递给这个类,然后使用
context.getAssets.open(“twentyone.txt”)

对于有相同问题的任何人,请执行以下操作: 将其放入具有活动的类的onCreate函数中:
Context-Context=getApplicationContext()

将上下文传递给新类的函数(在我的例子“process(stringa,context)”中) 然后在流程函数中键入:

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

我花了4个小时才想出这么愚蠢的事情。

getAssets()
可能是空的。如何解决这个问题?my assets文件夹中有上述文件..很难说没有看到更多代码,但首先要通过使用调试器或查看堆栈跟踪来确定
getAssets()
是否确实为空。然后找出它为空的原因。请提供完整的代码getAssets()是什么?检查它是否为null或notopen stream使用绝对文件名great,然后您必须定义该文件是否存在。可能getAssets()为空。。如何纠正这一点?顺便说一句,我正在为android编写代码。