Alguém pode me dizer a diferença entre estes dois métodos:
file.mkdir()
file.mkdirs()
java
android
directory
android-file
Krishna Kankal
fonte
fonte
Respostas:
mkdirs()
também cria diretórios pai no caminho que issoFile
representa.javadocs para
mkdirs()
:javadocs para
mkdir()
:Exemplo:
renderá
false
para o primeiro [e nenhum diretório será criado] etrue
para o segundo, e você terá criadonon_existing_dir/someDir
fonte
mkdir()
retornarátrue
oufalse
? O javadoc não parece cobrir esse aspecto.mkdirs()
criará o caminho do diretório especificado em sua totalidade, ondemkdir()
somente criará o diretório mais inferior, falhando se não conseguir encontrar o diretório pai do diretório que está tentando criar.Em outras palavras,
mkdir()
é comomkdir
emkdirs()
é comomkdir -p
.Por exemplo, imagine que temos um
/tmp
diretório vazio . O código a seguircriaria os seguintes diretórios:
/tmp/one
/tmp/one/two
/tmp/one/two/three
Onde este código:
não criaria nenhum diretório - como não seria encontrado
/tmp/one/two
- e retornariafalse
.fonte
cria apenas um diretório por vez, se for o pai único. caso contrário, ele pode criar o subdiretório (se o caminho especificado existir apenas) e não criar nenhum diretório entre dois diretórios. portanto, ele não pode criar vários diretórios em um diretório
crie os vários diretórios (entre dois diretórios também) por vez.
fonte