这是我用来在默认图片文件夹中创建文件夹的代码:

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

08-05 12:18