2016-07-21 33 views
1

我有以下問題:在文件系統中放置文件應觸發java應用程序

Java應用程序必須通過在文件系統中放置文件來觸發。我試圖避免使用輪詢解決方案,在該解決方案中,應用程序會定期搜索文件系統,以查明系統中是否存在新文件。

有什麼辦法通過在文件系統中放置文件來觸發應用程序?

+1

說你必須支持什麼樣的Java版本是很重要的。舊版本無法直接執行此操作。 –

+0

Java 1.7或1.8 – uztrew

+0

足夠新的內置功能。 –

回答

1

甲骨文實際上有圍繞這個主題一個很好的教程:

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

當使用和不使用此API

手錶服務API是專爲需要被應用通知有關文件更改事件。它非常適合任何應用程序,如編輯器或IDE,它們可能有許多打開的文件,並且需要確保文件與文件系統同步。它也非常適合監視目錄的應用程序服務器,可能要等待.jsp或.jar文件刪除才能部署它們。

1

jnotify或使用新的新Java文件I/O(NIO.2)軟件包將輪詢內核事件並通知您任何文件系統更改。這兩種解決方案都是內核掛鉤,不會耗盡資源,同時仍能爲您提供所需的資源。

退房http://jnotify.sourceforge.net/linux.html爲JNotify或瞭解更多信息NIO.2

+0

看來jnotify只能在Linux上運行。這可能很重要。 –

相關問題