java File类mkdir()与mkdirs()方法的区别:

File file_date = new File(“D:\\yyy\\2015-12-22”);
    // 如果该日期的文件夹存在,就把获得的指令文件夹建到该文件夹下。
    // 如果该日期的文件夹不存在,就新建一个日期的文件夹。
    if (file_date.exists()) {
     System.out.println("该日期的文件夹已经存在!");
    } else { 
//如果直接写下面的一句话,就会说:文件建立失败。因为父文件yyy不存在。

     boolean file_true = file_date.mkdir();

//但是写下面的这句话,就不会报错:文件夹建立失败。因为它会自动建立不存在的父文建夹。

//boolean file_true = file_date.mkdirs();
     if (file_true) {
      System.out.println("文件夹建立成功");
     } else {
      System.out.println("文件建立失败");
      return;
     }

    }

总结:

  • mkdir() 如果你想在已经存在的文件夹(D盘下的yyy文件夹)下建立新的文件夹(2010-02-28文件夹),就可以用此方法。此方法不能在不存在的文件夹下建立新的文件夹。假如想建立名字是”2010-02-28”文件夹,那么它的父文件夹必须存在

  • mkdirs() 如果你想根据File里的路径名建立文件夹(当你不知道此文件夹是否存在,也不知道父文件夹存在),就可用此方法,它建立文件夹的原则是:如果父文件夹不存在并且最后一级子文件夹不存在,它就自动新建所有路经里写的文件夹;如果父文件夹存在,它就直接在已经存在的父文件夹下新建子文件夹

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 方法区别是什么? mkdir()方法用于创建单级目录,如果父级目录不存在则创建失败。 mkdirs()方法用于创建多级目录,如果父级目录不存在则会一并创建。 例如,如果要创建目录“/a/b/c”,使用mkdir()方法需要先创建“/a”和“/a/b”两个目录,而使用mkdirs()方法则可以直接创建“/a/b/c”目录。 总之,mkdir()方法适用于创建单级目录,mkdirs()方法适用于创建多级目录。 ### 回答2: 在Java中,File提供了两种方法用于创建目录,即mkdir()和mkdirs()。 1. mkdir() 该方法用于创建一个目录,如果该目录的父目录不存在,则会创建失败。例如: ``` File file = new File("D:/test"); if(!file.exists()){ file.mkdir(); } ``` 上述代码会在D盘根目录下创建一个名为test的目录,但如果D盘不存在,则会抛出异常。 2. mkdirs() 该方法同样用于创建一个目录,但不同的是,如果该目录的父目录不存在,则会连带父目录一起创建。例如: ``` File file = new File("D:/test1/test2/test3"); if(!file.exists()){ file.mkdirs(); } ``` 上述代码会在D盘根目录下创建一个名为test1的目录,并在其中创建test2和test3两个子目录。 总的来说,mkdir()方法适用于创建单层目录,而mkdirs()方法适用于创建多层目录。在使用这两个方法时,需要注意文件路径是否正确,避免出现异常情况。 ### 回答3: Java中的File提供了mkdir()和mkdirs()方法,两者的目的都是创建新的目录,但是两者的区别是有所不同的。 mkdir()方法 mkdir()方法用于创建单个目录。如果指定的目录已经存在,则不执行任何操作。如果创建成功,则返回true;如果失败,则返回false。例如,以下代码将创建一个名为“example”的目录: File directory = new File("example"); boolean created = directory.mkdir(); mkdirs()方法 mkdirs()方法用于同时创建多个目录,包括需要创建的目录的父目录。如果指定的目录已经存在,则不执行任何操作。如果创建成功,则返回true;如果失败,则返回false。例如,以下代码将创建一个名为“parent/child/grandchild”的目录: File directory = new File("parent/child/grandchild"); boolean created = directory.mkdirs(); 需要注意的是,mkdirs()方法不会抛出异常,而是返回一个布尔值标识创建是否成功,这是与mkdir()方法的不同之处。在使用mkdirs()方法创建目录时,程序可以不必关心父目录是否存在。 总结 在已经存在父目录的情况下,mkdir()和mkdirs()方法都可以创建目录。但是,如果要同时创建父目录和子目录,那么只有mkdirs()方法才能完成这个任务。最后需要注意的是,为了安全起见,需要确保创建的目录名称不包含文件分隔符或特殊字符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值