如何使用cocoa确定文件副本是否已完成

时间:2012-02-04 08:11:20

标签: objective-c macos file fsevents

我正在使用Foundation框架和FSEvents API在XCode中为MAC开发文件夹观察器应用程序。在打开文件进行其他操作之前,我需要知道文件是否已完全复制到目标。知道它有什么办法吗?请建议

3 个答案:

答案 0 :(得分:1)

我注意到FSEvents API在开始时发送“create”事件,在结束时发送“create-and-modify”。在我的项目中,我使用了零延迟的FSEventsStream,并在创建时使用了“NoDefer”标志。仅监视“修改”事件可能会为您提供文件副本已完成的信息。

答案 1 :(得分:0)

您可以检查您要打开的文件是否存在? 并采取相应的行动。

答案 2 :(得分:0)

从简单地研究FSEvents API我会说你想要的是不可能的。我可能会弄错,但我自己从未使用过FSEvents。 this question的提问者通过使用lsof单独监控新文件解决了问题。