2016-08-25 2 views
1

Я пытаюсь создать каталог внутри последующего пути /var/www/downloads/ с этим именем строки organization.id, но я получаю вывод 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. Начните использовать utils, добавленные в Java 7, который позволяет вам узнать, что именно вызвало проблему, а не возвращать '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.Paths и java.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(); логическому значению и распечатайте его для проверки.

Смежные вопросы