21

File.mkdirs JavaDoc:

public boolean mkdirs()

必要だが存在しない親ディレクトリを含め、この抽象パス名で指定されたディレクトリを作成します。この操作が失敗した場合、必要な親ディレクトリの作成に成功している可能性があることに注意してください。

戻り値: ディレクトリが必要なすべての親ディレクトリとともに作成された場合にのみ true 。それ以外の場合は false

私の質問は、作成したいディレクトリの一部が既に存在する場合、mkdirs() は false を返しますか? または、いくつかのディレクトリが既に存在するかどうかに関係なく、ファイルのパス全体の作成に成功した場合に true を返すだけですか?

4

1 に答える 1

19

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());
}
于 2014-11-27T12:05:47.887 に答える