Java 在android中创建内部文件夹
我正在尝试在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)
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()
是不需要的。