Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.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 为内部存储器创建文件时返回空指针异常_Java_Android_Json_Internal Storage - Fatal编程技术网

Java 为内部存储器创建文件时返回空指针异常

Java 为内部存储器创建文件时返回空指针异常,java,android,json,internal-storage,Java,Android,Json,Internal Storage,嗨,我有一个项目,应该保存一个JSON数组到内部存储。 这是我的密码: public void createFile(String data){ try{ FileOutputStream fos = openFileOutput("userObj", Context.MODE_PRIVATE); fos.write(data.getBytes()); fos.close(); Log.d(TAG, "Successfull

嗨,我有一个项目,应该保存一个JSON数组到内部存储。 这是我的密码:

public void createFile(String data){
    try{
        FileOutputStream fos = openFileOutput("userObj", Context.MODE_PRIVATE);
        fos.write(data.getBytes());
        fos.close();
        Log.d(TAG, "Successfully created userObj file.");
    }catch (Exception e){
        Log.d(TAG, "Failed to create userObj " + e);
    }
}
但是当我调用
createFile(response)时
我要走了

java.lang.NullPointerException at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:180)
  • 检查您是否拥有写入外部存储的权限,无论您使用的是内部存储还是外部存储
  • 检查文件路径是否正确。您必须通过
    Environment.getExternalStorageDirectory()
  • 注意:这里的“外部”一词不要混淆。这个目录 最好将其视为介质/共享存储。它是一个 可以保存相对大量的数据,并且可以跨多个服务器共享 所有应用程序(不强制执行权限)。传统上这是 SD卡,但它也可以作为 与受保护的内部存储器不同的设备,可以 作为文件系统安装在计算机上

    我在android.content.ContextWrapper.openFileOutput(ContextWrapper.java:180)上得到java.lang.NullPointerException

    您没有正在使用的有效
    上下文


    很可能这是一个
    活动
    您已经用
    新的
    对自己进行了实例化。不要这样做。活动只能通过框架的
    意图
    进行实例化。如果您需要传递
    上下文
    ,请传递对框架初始化的
    上下文
    对象的引用,例如
    活动
    大约。

    您应该显示openFileOutput的代码。堆栈跟踪是什么样子的?您确定
    数据
    不为空吗?您可能会得到空响应。请通过
    e.printStackTrace()尝试完成堆栈跟踪
    。是的,数据或fos为空。请使用调试器并检查是否正确创建了对象。@jonsket数据不为空。