【问题标题】:Android Create Directory to deviceAndroid 创建目录到设备
【发布时间】:2023-03-09 19:48:01
【问题描述】:

我使用以下内容检查目录是否存在,如果不存在则创建它

    final String appPath = String.format("%s/DataFiles", Environment.getExternalStorageDirectory());
            File f = new File(appPath);
            if(f.exists() && f.isDirectory()){
                Toast.makeText(getBaseContext(), "Exists", Toast.LENGTH_LONG).show();
            }else{
                Toast.makeText(getBaseContext(), "DOES NOT Exist", Toast.LENGTH_LONG).show();
            f.mkdir();

这在我插入了 SD 卡的 S3 上运行良好

当我在另一部没有 sd 卡的手机上尝试时,它识别出目录不存在,然后不创建目录

任何想法有什么问题

标记

顺便说一句,我尝试插入 sd 卡,但没有任何区别,它仍然没有创建目录。

【问题讨论】:

  • 你用过哪款手机?
  • 有些不同:你的 if/else 不完整,因为它可能存在并且是一个文件。所以你必须再添加一个。此外,您最好使用f.getParentFile().canWrite() 进行测试。
  • 我已经将它安装在 Galaxy s3 和 samsung tab 3 上,并且运行良好的 jellybean 尝试安装在运行 kitkat 的 moto E 上,但它不会创建目录。设置写权限可以,如果目录存在则检测良好,但如果不存在则不会创建目录。如果我向 apppath 敬酒,它会说它的 emulated/storage/0/
  • 我还从 S3 和 Tab3 中移除了 sd 卡,它完美适用于 moto E

标签: android file directory


【解决方案1】:

在进行任何操作之前,您需要检查外部存储是否可用。 http://developer.android.com/guide/topics/data/data-storage.html#filesExternal 如果 sd-card 不可用或不可用于写入,则需要使用设备存储: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多