2016-08-25 18 views
1

私は、この文字列名organization.idを持った次のパス/var/www/downloads/の中にディレクトリを作成しようとしていますが、出力としてfalseが表示されています。javaの既存のパスにディレクトリを作成しますか?

File filePath = new java.io.File("/var/www/downloads/" + organization.id).mkdir(); 
    String test = filePath.toString(); 
    println("--> Path " + test); 
+0

http://java7fs.wikia.com/wiki/Why_File_sucks。 Java 7で追加されたutilsの使用を開始すると、 'boolean'を返す代わりに問題の原因を正確に知ることができます。 – Pshemo

+0

また、 'mkdir()'が 'boolean'を返すので、あなたの例はコンパイルされませんが、' File'にそれを格納しています。別の混乱する部分は、あなたのコードに 'java.io.File'があるのはなぜですか? 'File filePath'をすでに持っているので、' java.io.File'や 'java.io. *'をインポートに追加したようです。 'file'型の' filePath'は 'java.io'パッケージから来ていませんか? – Pshemo

答えて

3

それはjava.nio.file.Pathsjava.nio.file.Filesを使用することをお勧めします:

Path path = Paths.get("/var/www/downloads/" + organization.id); 
if (!Files.exists(path)) { // check if directory exists 
    try { 
     Files.createDirectories(path); 
     System.out.println("Directory created SUCCESSFULLY."); 
    } catch (IOException e) { // failed to create 
     System.out.println("Directory creation FAILED."); 
     e.printStackTrace(); 
    } 
} 
1

ます。mkdir()ブール値を返します。 new java.io.File("/var/www/downloads/" + organization.id).mkdir(); にブール値を割り当てて確認してください。

関連する問題