mkdir()与 mkdirs()方法的区别

来源:互联网 发布:亚米网络兼职 编辑:程序博客网 时间:2024/05/03 07:35

mkdir() 只能在已经存在的目录中创建创建文件夹。 

mkdirs() 可以在不存在的目录中创建文件夹。

mkdirs 
public boolean mkdirs() 
创建一个目录,它的路径名由当前 File 对象指定,包括任一必须的父路径。 
返回值: 
如果该目录(或多级目录)能被创建则为 true;否则为 false。 

mkdir 
public boolean mkdir() 
创建一个目录,它的路径名由当前 File 对象指定。 
返回值: 
如果该目录能被创建则为 true;否则为 false。


简单点说就是:

mkdir():只能创建一层目录.  
如: File file = new File("c:/aa"); file.mkdir(); //这样可以在c:/下创建aa目录
假如有多层目录,则不能用mkdir创建:File file = new File("c:/aa/bb"); 
file.mkdir() //这样创建不了.
应该改为:mkdirs()


/** * mkdir()创建此抽象路径名称指定的目录,一次只能创建一级目录,如果要创建多级目录必须一级一级创建,先创建父目录, * 再在父目录的基础上创建下一级子目录。    mkdirs()创建此抽象路径指定的目录,包括所有必须但不存在的父目录。  *///代码示例://mkdirs(): import java.io.*;public  class  file{  public   static   void   main(String[]args)  {        File   file1   =   new   File( "file1");//当该为多级目录时,将无法创建。       file1.mkdir();               File file2=new File("file1//file2");//因为前面已经创建了file1,所以这里以file1为父目录创建           file2没问题       file2.mkdir();            }}   //mkdirs():   import java.io.*;public  class  file{  public   static   void   main(String[]args)  {       File   file=   new   File( "temp//temp ");//一次可以创建多级目录      file.mkdirs();         System.out.println(file);                        }}