2009-07-19 6 views
0

Javaでディレクトリを作成しようとしています。私はディレクトリを作るために必要なものをすべて正しく提供したと思いますが、作成されません。あなたは下のコードから、対応する出力から、私が新しいディレクトリのパスを構成するすべての要素が正しいものであることがわかります。しかし、tDir.mkdir();は何もしていないので、successの変数は常にfalseです。なぜ私は理解できません。前もって感謝します。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!"); 
     } 

出力:

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

答えて

3

あなたは複数の(ネストされた)ディレクトリを作成したい場合は、(に注意してください)mkdirs()を使用する必要があります。

1

存在しない親ディレクトリを作成する必要があります。 File.mkdirs()を試してください。

+0

そして、パスに沿ってディレクトリのパーミッションを再確認してください。 – 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(); 
     } 
    } 
} 

上記のコードは、C:\ dir1 \ dir2 \ dir3内にdir4を作成します。親フォルダが存在しない場合は、親フォルダも作成されます。

関連する問題