谁能告诉我这两种方法的区别:
file.mkdir()file.mkdirs()
mkdirs()还会在此表示的路径中创建父目录。File
用于mkdirs():_
创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录。
用于mkdir():_
创建由此抽象路径名命名的目录。
例子:
File f = new File("non_existing_dir/someDir");
System.out.println(f.mkdir());
System.out.println(f.mkdirs());
将产生false第一个[并且不会创建目录],true对于第二个,您将创建non_existing_dir/someDir
mkdirs()将完全创建指定的目录路径,其中mkdir()只会创建最底部的目录,如果找不到它试图创建的目录的父目录,则会失败。
换句话说mkdir(),就像mkdir和mkdirs()就像mkdir -p。
例如,假设我们有一个空/tmp目录。以下代码
new File("/tmp/one/two/three").mkdirs();
将创建以下目录:
/tmp/one/tmp/one/two/tmp/one/two/three这段代码在哪里:
new File("/tmp/one/two/three").mkdir();
不会创建任何目录 - 因为它不会找到/tmp/one/two- 并且会返回false.
mkdir()
如果它是父目录,则一次只创建一个目录。否则它可以创建子目录(如果指定的路径仅存在)并且不要在任何两个目录之间创建任何目录。所以它不能在一个目录中创建多个目录
mkdirs()
一次创建多个目录(也在两个目录之间)。