Java Can';t使用mkdirs()创建目录

Java Can';t使用mkdirs()创建目录,java,android,file,Java,Android,File,我有一个android应用程序,计划从给定的URL下载图像。 我想创建一个以输入命名的目录,其中包含多个文件(.jpg)。 文件的URL取自ArrayList 在添加文件之前,我想为我的应用程序创建一个基本目录,如下所示: String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myApp"; File dir = new File(file_path);

我有一个android应用程序,计划从给定的URL下载图像。 我想创建一个以输入命名的目录,其中包含多个文件(.jpg)。 文件的URL取自ArrayList

在添加文件之前,我想为我的应用程序创建一个基本目录,如下所示:

String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myApp";
                File dir = new File(file_path);
                if(!dir.exists())
                    dir.mkdirs();
                Log.i("Test","Directory created: "+dir.exists());
                File file = new File(dir, "test.jpg");
                FileOutputStream fOut = new FileOutputStream(file);
                // image is the Bitmap created from one URL
                image.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
                fOut.flush();
                fOut.close();
我还向清单文件添加了权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application [...]

除了权限之外,这里还有什么问题?我正在安卓6上测试Nexus5和安卓6.0.1,你必须这样做。仅仅在清单中声明是不够的。

确实是完美的答案。我一整天都在想这里可能有什么问题。。。谢谢你dir.mkdirs();”。检查返回值,如果为false,则不要继续,而是停止或返回。
/storage/emulated/0/myApp/test.jpg: open failed: ENOENT (No such file or directory)