2009-07-19 11 views
0

J'essaye de créer un répertoire en Java. Je pense avoir correctement fourni toutes les choses nécessaires pour que je fasse le répertoire, mais il n'est pas créé. Vous pouvez voir à partir de mon code ci-dessous et de la sortie correspondante que chaque élément à partir duquel je compose le chemin du nouveau répertoire doit être correct et valide. Il semble, cependant, que tDir.mkdir(); ne fait rien, et donc la variable success est toujours false. Je ne peux pas comprendre pourquoi. Merci d'avance.Problème lors de la création d'un répertoire en Java

System.out.println("experimentDir: " + experimentDir); 
System.out.println("item.getName(): " + item.getName()); 
System.out.println("dirName: " + dirName); 
String tDirStr = experimentDir + "/" + item.getName() + "All/" 
    + dirName + "DataAll"; 
System.out.println("tDirStr: " + tDirStr); 
File tDir = new File(tDirStr); 
if (tDir.exists()) { 
     System.out.println("EXISTS!!!"); 
} else { 
     boolean success = tDir.mkdir(); 
     if(success) { 
      System.out.println("Dir created"); 
     } else { 
      System.out.println("No dir created!"); 
     } 

Sortie:

experimentDir: /home/Documents/datasets/test-experiments 
item.getName(): PosNegReviews 
dirName: test 
tDirStr: /home/Documents/datasets/test-experiments/PosNegReviewsAll/testDataAll 
No dir created! 

Répondre

3

Si vous voulez créer plusieurs répertoires (imbriqués), vous devez utiliser mkdirs() (notez le s).

1

vous devrez peut-être créer un répertoire parent qui n'existe pas. essayez File.mkdirs().

+0

Et vérifiez les autorisations de répertoire le long du chemin. – akarnokd

0
public class Test1{ 
    public static void main(String[] args) 
    { 
     String path="c:\\dir1\\dir2\\dir3\\dir4"; 
     File dir=new File(path); 
     if(!dir.exists()){ 
      dir.mkdirs(); 
     } 
    } 
} 

Le code ci-dessus va créer dir4 dans C: \ dir1 \ dir2 \ dir3. Si le dossier parent n'existe pas, il sera également créé.

Questions connexes