2016-07-21 2 views
1

У меня есть следующая проблема:размещение файла в файловой системе должно вызвать приложение Java

Java, приложение должно быть запущено путем размещения файла в файловой системе. Я пытаюсь избежать опроса, в котором приложение будет искать в регулярные интервалы времени файловую систему, чтобы узнать, находится ли в системе новый файл.

Есть ли способ вызвать приложение путем размещения файла в файловой системе?

+1

Важно сказать, что Java версии вы должны поддерживать. Старые версии не могут сделать это напрямую. –

+0

Java 1.7 или 1.8 – uztrew

+0

Новинка для функции, которая должна быть встроена. –

ответ

1

Oracle на самом деле имеет хороший учебник вокруг этой теме:

https://docs.oracle.com/javase/tutorial/essential/io/notification.html

Когда в использовании и не используйте этот API

API-интерфейс Watch Service предназначена для приложений, которые должны быть уведомлены о событиях смены файлов. Он хорошо подходит для любого приложения, такого как редактор или IDE, который потенциально имеет много открытых файлов и должен обеспечить синхронизацию файлов с файловой системой. Он также хорошо подходит для сервера приложений, который следит за каталогом, возможно, ждет, чтобы файлы .jsp или .jar будут удалены, чтобы их развернуть.

1

Как jnotify, так и новый новый пакет ввода/вывода Java (NIO.2) будет опросить события ядра и уведомить вас о любых изменениях в файловой системе. Оба решения являются ядром и не будут использовать ресурсы, но при этом дают вам то, что вам нужно.

Заканчивать http://jnotify.sourceforge.net/linux.html для JNotify или NIO.2 для получения дополнительной информации

+0

Похоже, jnotify работает только с Linux. Это может быть важно. –

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