2013-08-31 2 views
0

Я застрял в нечетной ситуации, на самом деле у меня было задание, которое создает файл в отдельной папке, и задание выполняется ежедневно, поэтому каждый день он создает файл в этом и файл с расширением .dat вместе с его zip-файлом.удаление файла .dat только при создании нового файла

Теперь скажите, если работа выполняется сегодня, она создаст два файла в этой папке, а на следующий день я хочу, чтобы этот zip-файл в предыдущий день оставался там в этой папке, но файл .dat должен быть удален до того, как .dat файл сегодняшнего дня получить создан, я должен написать код, но это не происходит так, как я хочу, пожалуйста, посоветуйте, как достичь этого

File file = new File(ilePath + s); //filepath contains the location where the file will be get created and s contain the filename 

       for (File f : new File(mcrpFilePath).listFiles()) { // For each 
                    // dat 
        // file in 
        // the 
        // directory, 
        // delete 
        // it. 

        if (f.isFile() 
          && file.getName().toLowerCase().endsWith(".dat")) { 
         f.delete(); 
        } 
       } 
       file.createNewFile(); 

Теперь, пожалуйста, посоветуйте, как я могу иметь предыдущие файлы почтового индекса в том, что , но файл .dat предыдущего дня будет удален.

+0

Насколько я понимаю, у вашего кода удалить старый создает новый файл. Что именно не работает так, как вам нужно? Просьба представить более подробную информацию о ситуации. Спасибо. – jboi

+0

@jboi да, правильно, я хочу, чтобы zip-файлы были там, и только .dat-файл будет удален, а новый .dat-файл будет создан моим кодом –

+0

Что происходит? – Henry

ответ

3

изменение

file.getName().toLowerCase().endsWith(".dat") 

в

f.getName().toLowerCase().endsWith(".dat") 
+0

Это одна из тех ошибок, которые вы часто наблюдаете и не видите :-) – jboi

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