2013-11-28 67 views
1

我正在使用jnotify在新文件創建/複製到特定目錄時獲取事件。當文件在direcotry中被複制時,我想用這個文件作爲參數執行一個工具。問題是:當文件大小很大而沒有立即複製到目錄中時,我無法使用此文件啓動該工具,因爲它仍在複製此文件。jnotify在完全創建/複製文件之前觸發事件

任何建議來解決這個問題?有沒有辦法檢查文件是否「準備就緒」?

回答

0

JNotify掛鉤到文件系統事件,並獲取操作系統報告的內容。 你可以做的是在激活你的動作之前,使用一個計時器來等待該文件的兩秒或兩秒不活動。

+0

所以沒有辦法讓還有一個通知準備文件?我試圖避免輪詢,但如果這是不可能的,那麼我會輪詢它......謝謝 – Fulley

+0

不,沒有在操作系統級準備文件(這是JNotify使用什麼)這樣的概念。 我建議它不會聚集,而是等待來自JNotify的最後一個寫入事件,其中最後一個定義爲事件之後,第二個事件中沒有來自該文件的其他事件(例如) –

0

確保您的文件被打開供使用lsof的命令(的Linux/Unix),這樣你就不會處理正在進行的文件(文件正在使用)

相關問題