file.getParentFile()是获取文件对象的父级文件夹目录对象,获取到了之后可以把父级文件夹创建出来,然后硬盘上真的存在了文件夹目录后才能createNewFile()创建文件
demo:
File file = new File("D:\\myproject\\new\\test.txt");
File parentFile = file.getParentFile();
System.out.println(parentFile.mkdirs());
System.out.println(file.createNewFile());
此时在你电脑上创建这个文件出来,
如果直接mkdirs()会导致text.txt也当成文件夹生成了,硬盘中就会存在D:\myproject\new\test.txt\ 这么一个文件夹目录。mkdirs只会生成文件夹
如果直接createNewFile()(顾名思义创建新文件),会找不到文件对象的父级文件夹目录而创建失败
所以第一步:
获取文件的父级文件夹目录,然后在在硬盘上创建出来
第二步:
文件夹目录有了就可以createNewFile()创建出你要的文件啦!