2012-02-04 80 views
2

我正在使用Foundation框架和FSEvents API爲XCode中的MAC開發文件夾觀察器應用程序。我需要知道在我打開文件進行其他操作之前,文件是否已完全複製到目標。有什麼方法可以知道嗎?請諮詢如何確定是否使用可可完成文件副本

回答

0

從簡單研究FSEvents API我會說,你想要的是不可能的。但我可能會誤解,我從未使用過FSEvent。 this question的提問者通過分別用lsof監視新文件解決了該問題。

0

你可以檢查你想打開的文件是否存在? 並相應採取行動。

1

我注意到FSEvents API在開始時發送「create」事件,在末尾發送「create-and-modify」。在我的項目中,我使用了零延遲的FSEventsStream和創建時的「NoDefer」標誌。只注意「修改」事件可能會告訴您文件複製完成的信息。

+0

使用「lsof」會給你沒有意義,因爲不同的進程可能以未定義的順序打開和關閉文件。此外,您還需要篩選這些進程名稱。 – 2016-12-04 10:01:47

+0

複製完成後,「Finder」可能會長時間打開該文件。 – 2016-12-04 10:02:30

相關問題