mkdir与mkdirs相同之处
1.都是用来创建文件夹的.
2.要创建的文件夹存在或者成功都会返回Boolean值表示创建成功与失败,true表示存在或者创建成功,false表示创建失败.
mkdir与mkdirs不相同之处
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹
1.利用mkdirs()方法创建多级文件夹.
new File("D:/create/firstLevel/twoLevel/threeLevel").mkdirs();
注:执行后, 会在D盘路径下建立/create/firstLevel/twoLevel/threeLevel
四级文件夹.
源码:
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());
}
2.利用mkdir()方法创建多级文件夹会失败返回false, mkdir()只会建立一级的文件夹 .
new File("E:/create/firstLevel/twoLevel/threeLevel").mkdir();
注:不会在E盘下建立任何文件夹, 因为找不到/create/firstLevel/twoLevel/threeLevel文件夹, 结果返回false.
源码:
public boolean mkdir() {
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkWrite(path);
}
if (isInvalid()) {
return false;
}
return fs.createDirectory(this);
}