gpt4 book ai didi

android - 在/sdcard 中创建目录失败

转载 作者:IT王子 更新时间:2023-10-28 23:39:30 26 4
gpt4 key购买 nike

我一直在尝试以编程方式在 /sdcard 中创建一个目录,但它不起作用。下面的代码总是输出 directory not created.

boolean success = (new File("/sdcard/map")).mkdir(); 
if (!success) {
Log.i("directory not created", "directory not created");
} else {
Log.i("directory created", "directory created");
}

最佳答案

这里需要考虑三件事:

  1. 不要假设 sd 卡安装在 /sdcard (默认情况下可能是这样,但最好不要硬编码。)。可以通过查询系统获取sdcard的位置:

    Environment.getExternalStorageDirectory();
  2. 您必须通过在 AndroidManifest.xml 文件中添加 uses-permission 条目来通知 Android 您的应用程序需要写入外部存储:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  3. 如果这个目录已经存在,那么 mkdir 将返回 false。因此检查目录是否存在,如果不存在则尝试创建它。在您的组件中,使用类似:

    File folder = new File(Environment.getExternalStorageDirectory() + "/map");
    boolean success = true;
    if (!folder.exists()) {
    success = folder.mkdir();
    }
    if (success) {
    // Do something on success
    } else {
    // Do something else on failure
    }

关于android - 在/sdcard 中创建目录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853472/

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