2010-06-03 47 views
0

我希望在創建,刪除或更改文件但未使用輪詢機制時收到通知。Linux上64位Java監視文件

我已經調查了相關的Java API,可以使用(EX:JNotify,JPathWatch和JXFileWatcher)。

這些API通過在操作系統中使用本地組件提供文件監控。但是我遇到的同樣的問題是,他們無法在Linux 64位上運行,因爲這些API中的本地組件不支持Linux 64位,這讓我很困惑。

我也知道在JDK7中會有一個WatchService API作爲NIO2的一部分,但是JDK7還沒有發佈。

那麼,任何人都可以建議我一個更好的解決方案?很感謝。

+0

爲什麼不在Java中編寫輪詢器?輪詢並不總是很糟糕,當然可以選擇編譯自己的本地代碼。 – 2010-06-03 03:38:57

回答

2

你試過inotify-java?另外,就我所見,JNotify的本地組件來自C源代碼,因此您可以自己編譯它以用於任何平臺。

+0

非常感謝!我會嘗試,但我不熟悉C編譯器。 我需要研究它,希望不要太複雜。 – Tim 2010-06-03 03:07:23

+0

@Tim,它看起來像inotify有「x86_64」二進制文件,所以你甚至不需要編譯。 – 2010-06-03 03:32:51

+0

太棒了!我認爲inotify-java可以在Linux 64位上運行。嘗試後者! – Tim 2010-06-03 04:11:26