в java, как смотреть несколько каталогов

Я хочу отслеживать несколько папок, добавляются ли новые файлы в папки. если файлы добавляются в папку, я хочу получить имя файла. Как это сделать.


person ssbecse    schedule 21.05.2011    source источник
comment
Дубликат заголовка stackoverflow.com/questions/1096404/ и stackoverflow.com/questions/3810790/   -  person Nicolas Bousquet    schedule 21.05.2011


Ответы (2)


Существует компонент с именем Файловый монитор в общедоступных ресурсах Apache IO. Я думаю, это именно то, что вы ищете.

person yurib    schedule 21.05.2011

Пожалуйста, попробуйте это,

for(;;){

    System.out.println("START MONITORING  **************");


    Path faxFolder = Paths.get("E:\\activiti\\monitor\\m1");
    Path faxFolder2 = Paths.get("E:\\activiti\\monitor\\m2");
    WatchService watchService = FileSystems.getDefault().newWatchService();
    faxFolder.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
    faxFolder2.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);


    boolean valid = true;
    WatchKey watchKey = watchService.take();
    for (WatchEvent<?> event : watchKey.pollEvents()) {
        WatchEvent.Kind kind = event.kind();
        if (StandardWatchEventKinds.ENTRY_CREATE.equals(event.kind())) {
            String fileName = event.context().toString();
            System.out.println(fileName);

        }
    }



}
person Jamsheer    schedule 25.02.2014