关于File类中的mkdir()和mkdirs()

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

你可能感兴趣的:(关于File类中的mkdir()和mkdirs())