2012-03-11 10 views
0

Donc j'essaye de créer un ensemble de répertoires à partir d'une boucle while. Le code pour la création du fichier section est ici:Le fichier ne veut pas créer un nouveau répertoire (mkdir)?

File userDIR=new File("Folder1//"+VARIABLENUMBER+"//"+VARIABLENUMBER+"_Single.txt"); 
      boolean exists = userDIR.exists(); 
      System.out.println(userDIR);//prints correct location 

      if (!exists) { 
       System.out.println("does not exist"); 
       userDIR.mkdir();//THIS IS NOT HAPPENING 
       System.out.println(userDIR.mkdir());//Prints FALSE? 

      }else{ 
       System.out.println("File Found"); 
      } 

Si le chemin du dossier existe déjà, il dit qu'il fait ... mais si je tente de créer un - il ne fonctionne pas (juste saute genre de) ou dit faux ...?

Vous ne trouvez pas ce que je fais de mal?

Merci pour vos commentaires ou suggestions.

Répondre

10

Je pense que vous devez utiliser userDir.mkdirs pas mkdir. La différence est que ce dernier essaiera de créer uniquement le répertoire au niveau le plus bas et si l'un des répertoires parents n'existe pas, il échouera. Toutefois, userDir.mkdirs créera également tous les répertoires parents non existants.

+0

STUFF ÉTONNANT !! Je n'ai pas réalisé qu'il y avait un mkdirs :) Merci à tous! – Rabiani

0

Change:

userDIR.mkdir(); 

Pour:

userDIR.mkdirs(); 
0

d'abord essayer d'utiliser mkdirs() au lieu de mkdir(), d'autre part, si je ne me trompe pas existe(); retourne toujours vrai dans le cas du répertoire, peu importe s'il existe ou non.

0

Êtes-vous sur Windows? Le chemin du fichier ne devrait-il pas utiliser backslahses \\ au lieu de // comme spécifié here.

Questions connexes