Czy ktoś może mi powiedzieć różnicę między tymi dwiema metodami:
file.mkdir()
file.mkdirs()
java
android
directory
android-file
Krishna Kankal
źródło
źródło
Odpowiedzi:
mkdirs()
tworzy również katalogi nadrzędne w ścieżce, którąFile
reprezentuje.javadocs dla
mkdirs()
:javadocs dla
mkdir()
:Przykład:
ustąpi
false
za pierwszym [i żaden katalog nie zostanie utworzony], itrue
za drugim, a ty stworzysznon_existing_dir/someDir
źródło
mkdir()
zwracatrue
lubfalse
? Wydaje się, że javadoc nie obejmuje tego aspektu.mkdirs()
utworzy podaną ścieżkę katalogu w całości, gdziemkdir()
utworzy tylko najniższy katalog, niepowodzeniem, jeśli nie może znaleźć katalogu nadrzędnego katalogu, który próbuje utworzyć.Innymi słowy
mkdir()
jest jakmkdir
imkdirs()
jest jakmkdir -p
.Na przykład wyobraź sobie, że mamy pusty
/tmp
katalog. Poniższy kodutworzy następujące katalogi:
/tmp/one
/tmp/one/two
/tmp/one/two/three
Gdzie ten kod:
nie utworzy żadnych katalogów - których nie znajdzie
/tmp/one/two
- i zwrócifalse
.źródło
tworzy tylko jeden katalog na raz, jeśli jest tylko tym katalogiem nadrzędnym. w przeciwnym razie może utworzyć podkatalog (jeśli istnieje tylko określona ścieżka) i nie tworzyć żadnych katalogów pomiędzy dwoma dowolnymi katalogami. więc nie może tworzyć wielu katalogów w jednym katalogu
tworzyć wiele katalogów (także między dwoma katalogami) naraz.
źródło