我一直试图让文件存储系统和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
我已添加了从外部存储写入和读取的权限。 什么事情发生了,我该如何解决这个问题?
答案 0 :(得分:7)
而不是
boolean result = dayFolder.mkdir();
使用
boolean result = dayFolder.mkdirs();
.mkdirs()
将创建所有必需的父目录。
可能不存在一个或多个父目录,因此您无法使用mkdir()
创建目录,因此您需要mkdirs()
。