Biri bana bu iki yöntem arasındaki farkı söyleyebilir mi:
file.mkdir()
file.mkdirs()
Biri bana bu iki yöntem arasındaki farkı söyleyebilir mi:
file.mkdir()
file.mkdirs()
Yanıtlar:
mkdirs()
ayrıca bu yolda üst dizinler oluştururFile
temsil .
javadocs için mkdirs()
:
Gerekli olan ancak var olmayan ana dizinler dahil olmak üzere bu soyut yol adıyla adlandırılan dizini oluşturur. Bu işlem başarısız olursa, gerekli üst dizinlerden bazılarını oluşturmayı başarmış olabileceğini unutmayın.
javadocs için mkdir()
:
Bu soyut yol adıyla adlandırılan dizini oluşturur.
Misal:
File f = new File("non_existing_dir/someDir");
System.out.println(f.mkdir());
System.out.println(f.mkdirs());
verecektir false
ilk için [ve hiçbir dir oluşturulacak] ve true
saniye ve oluşturduğunuz olacaknon_existing_dir/someDir
mkdir()
iade true
veya false
? Javadoc bu yönü kapsamıyor gibi görünüyor.
mkdirs()
mkdir()
yalnızca en alttaki dizini oluşturacak olan, oluşturmaya çalıştığı dizinin üst dizinini bulamazsa başarısız olan, belirtilen dizin yolunu bütünüyle oluşturacaktır.
Başka bir deyişle mkdir()
, gibidir mkdir
ve mkdirs()
gibidir mkdir -p
.
Örneğin, boş bir /tmp
dizininiz olduğunu düşünün . Aşağıdaki kod
new File("/tmp/one/two/three").mkdirs();
aşağıdaki dizinleri oluşturur:
/tmp/one
/tmp/one/two
/tmp/one/two/three
Bu kod nerede:
new File("/tmp/one/two/three").mkdir();
bulamayacağı gibi herhangi bir dizin yaratmaz /tmp/one/two
ve geri döner false
.
mkdir()
sadece bir üst dizin ise, bir seferde yalnızca bir dizin oluşturur. başka bir şekilde alt dizini oluşturabilir (yalnızca belirtilen yol varsa) ve herhangi iki dizin arasında herhangi bir dizin oluşturmaz. bu nedenle tek bir dizinde birden fazla dizin oluşturamaz
mkdirs()
aynı anda birden çok dizini (iki dizin arasında da) oluşturun.