如果直接使用targetFile.createNewFile();来创建文件,那么在targetFile的上级目录不存在的情况下,会抛出异常。
parentFile.mkdirs();的作用是创建嵌套文件夹,因此如果上级目录的上级目录不存在,那么都会被一起创建
File targetFile = new File("d:/test/testCopy.txt");
File parentFile = targetFile.getParentFile();
if (!parentFile.exists()) {
parentFile.mkdirs();
}
if (!targetFile.exists()) {
targetFile.createNewFile();
}
相关源码: