Java创建多级文件夹
Java的File类坑巨多,就创建文件来说,多级创建和单级创建竟然不一样.
直接上API
mkdir只能创建一个文件夹,而想创建多级文件夹需要用mkdirs,多了个s.
来来,接下来看源码:
public boolean mkdirs() {
if (exists()) {
return false;
}
if (mkdir()) {
return true;
}
File canonFile = null;
try {
canonFile = getCanonicalFile();
} catch (IOException e) {
return false;
}
File parent = canonFile.getParentFile();
return (parent != null && (parent.mkdirs() || parent.exists()) && canonFile.mkdir());
}
看出来问题没?
mkdirs调用的依然是mkdir,看源码mkdirs是支持单级文件夹创建的
想不通mkdir用来干啥?能用mkdirs取代的一个方法.以后优先使用mkdirs