2012-01-25 3 views
0

Я застрял в том, что папка не создана.Создание новых каталогов

private static File createNewTempDir() { 
File baseDir = new File(System.getProperty("java.io.tmpdir")); 
String baseNamePrefix = System.currentTimeMillis() + "_" + Math.random() + "-"; 
LOG.info(System.getProperty("java.io.tmpdir")); 
File tempDir = new File(baseDir, baseNamePrefix + "0"); 
LOG.info(tempDir.getAbsolutePath()); 

tempDir.mkdirs(); 

if (tempDir.exists()) { 
    LOG.info("I would be happy!"); 
} 
else { 
    LOG.info("No folder there"); 
} 
return tempDir; 
} 

Есть ли ошибки в этом? Я могу получить LOG, что никаких папок не существует ...

+0

Вы уверены, что папка отсутствует? вы регистрируете его там не там, когда он существует. –

+0

Казалось бы, проблема заключается в отрицании в 'if (! TempDir.exists())'. Это напечатало бы «Я был бы счастлив!» если путь НЕ существует, и «Нет папки там», если это так. –

+0

Что касается этого вопроса с муравьем? Я не вижу его использования. Возможно, вы должны удалить тег. – joergl

ответ

2

Вашего кода хорошо, но ваши условное неправильно:

if (tempDir.exists()) { 
    LOG.info("I would be happy!"); 
} 
else { 
    LOG.info("No folder there"); 
} 

папка создается на самом деле, вы можете проверить, что, получая путь и открытие на Explorer.

EDIT: Он работает как минимум на Windows. Я очистил его немного:

public static void main() { 
     File baseDir = new File(System.getProperty("java.io.tmpdir")); 
     File tempDir = new File(baseDir, "test0"); 
     System.err.println(tempDir.getAbsolutePath()); 

     tempDir.mkdir(); 

     System.err.println("is it a dir? " + tempDir.isDirectory()); 
     System.err.println("does it exist? " + tempDir.exists()); 
    } 

Выход:

C: \ Users \ marsch1 \ AppData \ Local \ Temp \ test0 ли это реж? true Он существует? true

+0

Жаль Марсело, я ошибся .. –

+0

Thx Marcelo. Я не знаю, почему эта проблема возникла. Это факт, что если я последую вашему коду, я могу проверить, что папка сделана. Но если я следую моему коду, это не сработает. Во всяком случае, THX за помощью. Я проверю проблему после, но теперь решение нужно больше ... В любом случае спасибо за помощь –

+0

Rude-Student, я просто понял, что использовал 'file.mkdir()' вместо 'file.mkdirS()'. Может, это твоя проблема? – Marcelo

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