Java openFileOutput抛出NullPointerException(我不知道为什么)
因此,我正在移植我的IRC Bot以在我的选项卡上运行,该选项卡使用4.4.2(API 19) 现在给我最后一天带来问题的功能是Quote数据库,它通过用户添加Quote并将其存储到文件中—可以检索和显示它们。现在,我已经在拼命创建一个文件了。 方法如下:Java openFileOutput抛出NullPointerException(我不知道为什么),java,android,file-writing,Java,Android,File Writing,因此,我正在移植我的IRC Bot以在我的选项卡上运行,该选项卡使用4.4.2(API 19) 现在给我最后一天带来问题的功能是Quote数据库,它通过用户添加Quote并将其存储到文件中—可以检索和显示它们。现在,我已经在拼命创建一个文件了。 方法如下: public void createFile(String filenick){ try { FileOutputStream os = MainActivity.context.openFil
public void createFile(String filenick){
try {
FileOutputStream os = MainActivity.context.openFileOutput(filenick, 0);
os.close();
} catch (FileNotFoundException e) {
System.out.println("createFile "+filenick+" happened");
} catch (IOException e) {
System.out.println("IO error " + filenick + " happened");
}
}
上下文来自
public class MainActivity extends Activity {
public static Context context=new MainActivity().getApplication();
它编译得很好,Android Studio没有给我任何类型的错误。
机器人可以使用除此之外的所有功能
java.lang.NullPointerException
at com.coilworks.dreaddroid.QDBClass.createFile(QDBClass.java:175)
at com.coilworks.dreaddroid.QDBClass.adder(QDBClass.java:57)
对于Context:QDBClass.java:175是以FileOutputStream开头的行
57是调用createFile的位置
到目前为止,我已经尝试了android文档中包含的Outputstreams和Writer的每一个可能的迭代
也许我只是找错了词 您不应该直接实例化
活动。这是框架的工作
publicstaticcontext=newmainActivity().getApplication()代码>
这条线可能是你看到的许多问题的根源<代码>上下文
在这种情况下将始终为空
。首先,切勿自己创建活动实例(例如,新建活动()
)
第二,除非特别说明,否则在创建活动之前,不要调用活动实例上的方法(即,至少通过activity
本身的onCreate()
实现)
考虑到上面的代码,您的上下文
将始终为空
。我现在确实觉得自己很愚蠢。谢谢,现在我正在寻找如何以适当的方式获得上下文。