mkdirs() 已存在目录的返回值
File.mkdirs JavaDocs:
public boolean mkdirs()
创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建某些必需的父目录。
返回:当且仅当目录已创建时为 true,以及所有必需的父目录;否则为假
我的问题是:mkdirs()如果想要创建的一些目录已经存在,会返回false吗?或者,如果它成功地为文件创建了整个路径,它是否只返回 true,无论某些目录是否已存在?
File.mkdirs JavaDocs:
public boolean mkdirs()
创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建某些必需的父目录。
返回:当且仅当目录已创建时为 true,以及所有必需的父目录;否则为假
我的问题是:mkdirs()如果想要创建的一些目录已经存在,会返回false吗?或者,如果它成功地为文件创建了整个路径,它是否只返回 true,无论某些目录是否已存在?
它返回 false。
来自 java doc: - 如果目录已创建,则为 true;如果失败或目录已存在,则为 false。
您应该执行如下操作:
if (file.mkdirs()) {
System.out.format("Directory %s has been created.", file.getAbsolutePath());
} else if (file.isDirectory()) {
System.out.format("Directory %s has already been created.", file.getAbsolutePath());
} else {
System.out.format("Directory %s could not be created.", file.getAbsolutePath());
}