Может ли кто-нибудь сказать мне разницу между этими двумя методами:
file.mkdir()
file.mkdirs()
java
android
directory
android-file
Кришна Канкал
источник
источник
Ответы:
mkdirs()
также создает родительские каталоги по пути, который этоFile
представляет.javadocs для
mkdirs()
:javadocs для
mkdir()
:Пример:
даст результат
false
для первого [и каталог не будет создан], аtrue
для второго, и вы создадитеnon_existing_dir/someDir
источник
mkdir()
вернутьtrue
илиfalse
? Javadoc, похоже, не охватывает этот аспект.mkdirs()
создаст указанный путь к каталогу полностью, при этомmkdir()
будет создаваться только самый нижний каталог, и произойдет сбой, если он не сможет найти родительский каталог каталога, который он пытается создать.Другими словами
mkdir()
, нравитсяmkdir
иmkdirs()
нравитсяmkdir -p
.Например, представьте, что у нас есть пустой
/tmp
каталог. Следующий кодсоздаст следующие каталоги:
/tmp/one
/tmp/one/two
/tmp/one/two/three
Где этот код:
не будет создавать никаких каталогов - поскольку не найдет
/tmp/one/two
- и вернетсяfalse
.источник
создает только один каталог за раз, если он родительский. в противном случае он может создать подкаталог (если существует только указанный путь) и не создавать никаких каталогов между любыми двумя каталогами. поэтому он не может создавать несколько каталогов в одном каталоге
создавать несколько каталогов (также между двумя каталогами) за раз.
источник