146 votes

Différence entre mkdir () et mkdirs () en java pour java.io.File

Bonjour, quelqu'un peut-il me dire la différence entre file.mkDir() et file.mkDirs() ?

179voto

amit Points 74385

mkdirs() également crée les répertoires parents dans le chemin de cette File représente.

la documentation javadoc pour mkdirs():

Crée le répertoire nommé par le présent résumé chemin, y compris toute nécessaire, mais inexistant répertoires parents. Notez que si cette l'opération échoue, il peut avoir réussi à la création de certains de la nécessaire répertoires parents.

la documentation javadoc pour mkdir():

Crée le répertoire nommé par le présent résumé chemin.

Exemple:

File  f = new File("non_existing_dir/someDir");
System.out.println(f.mkdir());
System.out.println(f.mkdirs());

donnera false pour la première et pas de dir sera créé], et true pour le second, et vous aurez créée non_existing_dir/someDir

67voto

Dave Webb Points 90034

mkdirs() va créer le répertoire spécifié chemin dans sa totalité lorsque mkdir() ne fera que créer le fond de la plupart de répertoire, à défaut, s'il ne trouve pas le répertoire parent du répertoire, il est en train de créer.

En d'autres mots, mkdir() , c'est comme mkdir et mkdirs() , c'est comme mkdir -p.

Par exemple, imaginons que nous ayons un vide /tmp répertoire. Le code suivant

new File("/tmp/one/two/three").mkdirs();

permettrait de créer les répertoires suivants:

  • /tmp/one
  • /tmp/one/two
  • /tmp/one/two/three

Où ce code:

new File("/tmp/one/two/three").mkdir();

ne serait pas de créer tous les répertoires - car il ne trouve pas /tmp/one/two - et serait de retour false.

4voto

Durgaprasad Points 80
 mkdir()
 

crée un seul répertoire à la fois, s'il n'est parent que de celui-ci. autrement, il peut créer le sous-répertoire (si le chemin spécifié n'existe que) et ne créer aucun répertoire entre deux répertoires. il ne peut donc pas créer plusieurs répertoires dans un répertoire

 mkdirs()
 

créer plusieurs répertoires (entre deux répertoires également) à la fois.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X