Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.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 在android中创建内部文件夹_Java_Android - Fatal编程技术网

Java 在android中创建内部文件夹

Java 在android中创建内部文件夹,java,android,Java,Android,我正在尝试在android中创建一个文件夹来存储有关应用程序用户的文件 我为应用程序创建了一个输入输出实用程序类 就在我写这篇文章的那一刻: public void createFolder(){ String dirPath = new String(); dirPath = getFilesDir().getAbsolutePath() + File.separator + "MyFolder"; File folder = new File(dirPath)

我正在尝试在android中创建一个文件夹来存储有关应用程序用户的文件

我为应用程序创建了一个输入输出实用程序类

就在我写这篇文章的那一刻:

public void createFolder(){

    String dirPath =  new String();
    dirPath  =  getFilesDir().getAbsolutePath() + File.separator + "MyFolder";
    File folder = new File(dirPath);

    if(!folder.exists()) {
        folder.mkdir();
        Log.i("IO", ""+folder.exists());
    }

}
但当我尝试从主活动调用它时,我得到一个空指针异常: “java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.io.File android.content.Context.getFilesDir()”


我知道什么是空对象引用,但我不明白是哪部分代码导致了它

您应该在manifest.xml中添加权限

<manifest ...>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  ...
</manifest>

...

看看这些:还有那个。
NullPointerException
!!!实用程序类使用哪个上下文?如果没有上下文,则不应编译代码。它是从哪个类派生的?
folder.mkdir();Log.i(“IO”,“文件夹+folder.exists())。那是胡说八道。在告知文件夹已创建之前,应检查mkdirs()的返回值。它可能会失败!使用mkdirs()而不是mkdir()。@greenapps我发现了错误,没有上下文,但代码仍然可以编译。至于那一行,我用它来检查是否创建了mkdir,我想我不应该使用日志。那些权限对于
getFilesDir()
是不需要的。