21

File.mkdirs JavaDocs:

公共布尔 mkdirs()

创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录。

返回:当且仅当创建了目录以及所有必要的父目录时才返回 true;否则为假

我的问题是:如果 mkdirs() 想要创建的某些目录已经存在,它会返回 false 吗?或者,如果它成功地为文件创建了整个路径,它是否只返回 true,无论某些目录是否已经存在?

4

1 回答 1

19

它返回假。

来自 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());
}
于 2014-11-27T12:05:47.887 回答