Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数据写入内部文件-ContextWrapper NullPointerException_Java_Android - Fatal编程技术网

Java 将数据写入内部文件-ContextWrapper NullPointerException

Java 将数据写入内部文件-ContextWrapper NullPointerException,java,android,Java,Android,我正在为内部存储创建一个文件,在写入数据时遇到了一个问题。我知道它在调用时检索到正确的数据(我使用Logcat标记检查它是否正确),但一旦它尝试打开FileOutputStream,它就会在第二行上显示NullPointerException: static ContextWrapper wrap = new ContextWrapper(context); FileOutputStream gamesave = wrap.openFileOutput (FILENAME, Context.MO

我正在为内部存储创建一个文件,在写入数据时遇到了一个问题。我知道它在调用时检索到正确的数据(我使用Logcat标记检查它是否正确),但一旦它尝试打开FileOutputStream,它就会在第二行上显示NullPointerException:

static ContextWrapper wrap = new ContextWrapper(context);
FileOutputStream gamesave = wrap.openFileOutput (FILENAME, Context.MODE_PRIVATE);
gamesave.write(DATA.getBytes());
gamesave.close();

我已经看了其他问题,但我不明白为什么会出现NullPointerException,它似乎遵循了正确的过程。

我认为您的
上下文
变量(即ApplicationContext)中的上下文是错误的。尝试直接使用上下文-不使用包装器。

为什么要创建上下文包装器?没有理由这么做。只需使用您手头的上下文——如果您是活动,则使用活动;如果不是,则使用传递到代码中的活动


请注意,将应用程序用作上下文完全可以。

NPE在哪里?在哪一行上,顺便说一句,
静态
?这是真代码吗?第二行。也许我不应该实例化ContextWrapper,那么?问题是它不是一个活动!这是唯一可行的方法吗?你从哪里获得上下文?我可以为这个类创建一个构造函数,但问题可能是因为我在其他类中创建了这个类的多个实例,因为有多个地方借用了它的方法。