Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как удалить папку вместе с файлами


Автор: savage_fx 3.8.2007, 13:27
Как удалить папку вместе с файлами
В книге оп яве написано

Код

File f =new File("папка");
f.delete();


но так не работает,хотя файлы удаляются без проблем

Автор: LSD 3.8.2007, 13:31
Код
  public void delete(File file)
  {
    if(!file.exists())
      return;
    if(file.isDirectory())
    {
      for(File f : file.listFiles())
        delete(f);
      file.delete();
    }
    else
    {
      file.delete();
    }
  }

Автор: savage_fx 3.8.2007, 13:42
спасибо,работает!

Автор: goodday1941 3.8.2007, 14:19
2LSD, а если в папке была еще одна папка а в ней еще файлы, этот код отработает, или нужно рекурсивно сначала все файлы поудалять?

Автор: LSD 3.8.2007, 15:22
Отработает (во всяком случае должен).

Автор: AntonSaburov 3.8.2007, 16:46
Да вообщем-то он и есть рекурсивный - если внимательнее код посмотреть smile

Автор: goodday1941 3.8.2007, 16:58
Цитата(AntonSaburov @  3.8.2007,  16:46 Найти цитируемый пост)
Да вообщем-то он и есть рекурсивный - если внимательнее код посмотреть 

100%  smile 

Автор: LSD 4.8.2007, 16:05
А вообще есть такая штука как http://jakarta.apache.org/ и там есть кучи всевозможных утилит на все случаи жизни. Например там есть Commons IO, в котором есть разные утилиты для работы с потоками и файлами. И в частности класс FileUtils который позволяет копировать файлы, директории с поддирректориями, удалять файлы и директории, подсчет размера директории, и много чего еще.

Так что если есть какая проблема - рекомендую в первую очередь заглядывать на http://jakarta.apache.org/, возможно там уже есть утилитка для этого smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)