java - 安卓:m​​kdir() 失败:ENOENT(没有那个文件或目录)

标签 java android mkdir

我一直在尝试打开文件存储系统并运行 Android 手机。但是,我遇到了以下问题:

static File dataFolder = Environment.getExternalStorageDirectory();

...

static File userDataFolder = new File(dataFolder, "triathlon");

...

File dayFolder = new File(userDataFolder, folderName);
if(!dayFolder.exists()){
    boolean result = dayFolder.mkdir();
    if (!result){
        Log.d("dayFolder creation", "failed");
    }
}

其中 folderName 是表示当前日期的字符串。

这是错误信息:

W/System.err: mkdir failed: ENOENT (No such file or directory) : /storage/emulated/0/triathlon/2016-05-23

我已经添加了写入和读取外部存储的权限。 发生了什么事,我该如何解决?

最佳答案

代替

boolean result = dayFolder.mkdir();

使用

boolean result = dayFolder.mkdirs();

.mkdirs() 将创建所有必要的父目录。

一个或多个父目录可能不存在,因此您无法使用 mkdir() 创建目录,因此您需要 mkdirs()

关于java - 安卓:m​​kdir() 失败:ENOENT(没有那个文件或目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37395352/

相关文章:

android - ".access"的验证错误

java - 如何将不可序列化的对象存储到 android 中的 sqlite?或者你也可以建议任何其他方式来存储不可序列化的 arralylist objest

java - 如何正确 float 提示?

python mkdir/makesdir 带有特殊符号的文件夹名称

python - Python 中的 mkdir -p 功能

java - 创建专用于特定模块化应用程序的自定义运行时镜像

java - 显示 ImageView 对象的修改后的图像

java - 在 SWT FormEditor 的表单页面(选项卡)之间切换

java - 是否可以在没有本地服务器的情况下配置 Sonar 插件排除以进行本地分析?

php - 在php中创建带有外来字符的目录