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

来源:互联网 发布:内蒙广电网络登录入口 编辑:程序博客网 时间:2024/05/15 23:47

java-fFile-mkdir与createNewFile的先后执行
来源:http://blog.csdn.net/a496418462/article/details/70739760
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创建循环文件的时候,也要注意同名文件的存在。

java mkdir()和mkdirs()区别:http://blog.csdn.net/cnnumen/article/details/8463736

如何创建文件夹 mkdir、mkdirs、createNewFile? http://blog.csdn.net/qq_23263825/article/details/53842731

原创粉丝点击