2016-08-25 67 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. *'。 'filePath'的File类型不是来自'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()返回boolean值。 因此将new java.io.File("/var/www/downloads/" + organization.id).mkdir(); 设置为布尔值并打印出来进行检查。

相关问题