File对象中创建文件夹的方法mkdir与mkdirs的区别
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);
}
