gpt4 book ai didi

java - 无法使用 mkdirs() 创建目录

转载 作者:行者123 更新时间:2023-12-01 07:21:27 26 4
gpt4 key购买 nike

我有一个 Android 应用程序,计划从给定的网址下载图像。我想创建一个以输入命名的目录,其中包含多个文件(.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();

我还将权限添加到 list 文件中:

<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 [...]

我自己的日志给出了输出“Directory created: false”,并且出现以下错误:

/storage/emulated/0/myApp/test.jpg: open failed: ENOENT (No such file or directory)

除了权限之外,这里还有什么问题?我正在 Nexus 5、Android 6.0.1 上进行测试

最佳答案

在 Android 6 上,您必须 request permissions at run time 。仅在 list 中声明它们是不够的。

关于java - 无法使用 mkdirs() 创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com