2016-06-08 78 views
0

假設JNotify正在監聽名爲A的文件夾,並且將文件f從不屬於A子目錄一部分的文件夾B複製到了A.在什麼時間點,JNotify通知。JNotify何時通知文件的創建

1)當寫入新文件開始時,即在文件上調用open()以寫入新文件時,它是否處於啓動階段?

OR

2)在點是它新的文件完全寫入和關閉即當接近()調用寫進去完成後的文件之後?

而且我不確定複製文件是否涉及寫入文件。但我想它應該這樣做。

我想知道在ubuntu(Linux)中的場景。任何參考非常感謝。

回答

1

JNotify不對通知傳送的確切時間作出任何擔保。 通常它取決於操作系統API,並且這些API也可以自己做緩衝(Windows的行爲與Linux或Mac不同)。

在大多數不重要的文件創建和寫入,你會得到一系列事件,而不僅僅是一個。 您可能希望在您身邊有一個計時器,以獲取文件事件停止的位置,以確定其可以安全操作。

+0

謝謝,你可以發佈任何參考。經過幾個小時的搜索後,我找不到一個。還是應該通過創建一些大文件來自己測試它? –

+0

參考什麼?我知道這是因爲我寫了JNotify。 –

+0

哦!對不起。我沒有想法。我幾分鐘前就覈實了你的陳述。我編寫了一個C++程序,它可以無限期地寫入一個txt文件,但是在調用'open()'之後我會得到通知。不管怎麼說,多謝拉 :) !!! –