Android:mkdir()失败:ENOENT(没有这样的文件或目录)

时间:2016-05-23 15:49:09

标签: 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

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

1 个答案:

答案 0 :(得分:7)

而不是

boolean result = dayFolder.mkdir();

使用

boolean result = dayFolder.mkdirs();

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

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