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 falseilk için [ve hiçbir dir oluşturulacak] ve truesaniye ve oluşturduğunuz olacaknon_existing_dir/someDir
mkdir()iade trueveya 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 mkdirve mkdirs()gibidir mkdir -p.
Örneğin, boş bir /tmpdizininiz 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/threeBu kod nerede:
new File("/tmp/one/two/three").mkdir();
bulamayacağı gibi herhangi bir dizin yaratmaz /tmp/one/twove 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.