java-File-mkdir与createNewFile的先后执行

java-fFile-mkdir与createNewFile的先后执行



java中的File类中,mkdir是创建文件夹,createNewFile是创建文件。
但当两个函数先后执行的时候,产生的结果不同。



上面是代码运行前的状态。

执行代码如下:
File f = new File("d:\\test\\a");
f.mkdir();
f.createNewFile();

运行完的状态如下:


并没有创建名字为“a”的文件,只创建了文件夹。
如果将创建文件夹和文件的代码顺序倒置呢?
首先先把“a”文件夹删除

执行代码如下:
File f = new File("d:\\test\\a");
f.createNewFile();
f.mkdir();

结果如下:


创建了文件,而没有创建文件夹。

在上面的基础上继续实验mkdirs()函数,创建文件夹代码如下:
File f = new File("d:\\test\\a\\b\\c");
f.mkdirs();
这样执行的话,由于有a文件存在,导致无法创建到c文件夹,test文件夹下仍然只有a文件。

紧接着,删除a文件后,再执行上面代码。

c文件夹才成功的创建出来


总结:当file对象的路径名称相同的时候,要注意其同名的文件夹或文件是否已经存在,否则可能导致创建文件夹或文件失败(存在文件夹,导致创建文件失败,反之亦然)。用mkdirs创建循环文件的时候,也要注意同名文件的存在。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值