File类中的mkdir()和mkdirs():
mkdir():只能创建一层目录.
如: File file = new File("c:/aa");
file.mkdir(); //这样可以在c:/下创建aa目录
假如有多层目录,则不能用mkdir创建:File file = new File("c:/aa/bb"); file.mkdir() //这样创建不了.
应该改为:
mkdirs():
下面是midis()源码:
public boolean mkdirs() {
if (exists()) {
return false;
}
if (mkdir()) {
return true;
}
File canonFile = null;
try {
canonFile = getCanonicalFile();
} catch (IOException e) {
return false;
}
String parent = canonFile.getParent();
return (parent != null) &&
(new File(parent, fs.prefixLength(parent)).mkdirs() &&
canonFile.mkdir());
}
如果mkdir()为true mkdirs就已经返回了。只有在mkdir为false的时候才继续创建parent路径.
mkdirs的返回声明:
当且仅当已创建该目录以及所有必需的父目录时,返回 true;否则返回 false