Удалять все файлы в каталоге, но не каталог каждые 24 часа

Я хочу сделать java, который будет удалять все содержимое каталога каждые 24 часа, как лучше всего это сделать? Я нашел много способов использовать php, но не java.


person user2065929    schedule 22.02.2013    source источник


Ответы (3)


каков наилучший подход к этому

Предполагая, что вам действительно нужно сделать это на Java:

  1. Напишите метод Java, который перебирает файлы в каталоге, используя (например) File.listFiles(). Для каждого вызова File.delete(). (Если каталог содержит подкаталоги, это будет немного сложнее... в зависимости от того, что вы хотите сделать для подкаталогов.

  2. Напишите код Java, который вызывает предыдущий метод каждые 24 часа.

Рекомендации:

  • Javadocs для java.io.File
  • Документ Javadoc для java.util.Timer, который можно использовать для периодически запускать задачу.

Кроме того, вы можете найти существующий код с помощью Google. (Но я не собираюсь искать тебя.)

person Stephen C    schedule 22.02.2013
comment
Обратите внимание, что с Java SE 7 рекомендуется использовать новый файловый API NIO.2. - person Puce; 22.02.2013

Я знаю, что вы сказали java ... но .. Если вы используете Unix, используйте crontab

crontab -e

0 1 * * * rm -rf /path/to/mydir/*

Удаляйте все файлы в вашем каталоге в час ночи каждую ночь

person cowls    schedule 22.02.2013

И в машине Windows вы можете:

at 00:00 /every:M,T,W,Th,F,S,Su "cmd /c del /f/s/q c:\path\to\dir"

Который удаляет все (включая подкаталоги) в c:\path\to\dir тихо в 00:00 (полночь) каждый день.

Используйте at /delete, чтобы отключить запланированные задачи.

Подробнее об At Utility можно прочитать здесь.

person Community    schedule 22.02.2013