Я хочу создать Java-программу, которая постоянно следит за каталогом для поиска нового файла,
и, если поступит новый файл, обработайте его, а затем удалите.
Каков наилучший способ сделать это?
JDK 7 включает в себя класс java.nio.file.WatchService, который позволяет вам получать уведомления об изменениях файловой системы, когда они происходят, а не постоянно опрашивать. В настоящее время он также доступен в OpenJDK:
java.nio.file.WatchService
Особенности JDK 7
Учебное пособие по OpenJDK WatchService
Проверить наличие новых файлов, обработать их, промыть и повторить:
while (true) { File[] files = new File(DIRECTORY_PATH).listFiles(); for (File file : files) { /* do something with this file */ //and delete it when finished file.delete(); } //Pause for a second before checking again Thread.sleep(1000); }