这是我用来在默认图片文件夹中创建文件夹的代码:
File imagesFolder = new File(Environment.DIRECTORY_PICTURES, "/images");
if (!imagesFolder.exists()) {
Log.d("if imagesFolder exists - 1", "False");
imagesFolder.mkdirs();
} else {
Log.d("if imagesFolder exists - 1", "True");
}
if (!imagesFolder.exists()) {
Log.d("if imagesFolder exists - 2", "False");
imagesFolder.mkdirs();
} else {
Log.d("if imagesFolder exists - 2", "True");
}
在日志中我得到:
False
False
第一次目录不存在,因此
False
但我立即使用mkdirs()
创建它,因此我希望第二个日志True
,但即使是False
,我的应用程序也会因为代码后面的NullPointerException
而崩溃请帮助
谢谢您
最佳答案
你用错了。它只是一个Environment.DIRECTORY_PICTURES
常数,类似于String
但不是一条路径。您需要通过"Pictures"
获取路径
File pictureFolder = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES
);
File imagesFolder = new File(pictureFolder, "images");
// etc