【发布时间】:2012-02-04 08:11:20
【问题描述】:
我正在使用 Foundation 框架和 FSEvents API 在 XCode 中为 MAC 开发文件夹监视应用程序。在打开文件进行其他操作之前,我需要知道文件是否已完全复制到目标位置。有什么办法知道吗?请指教
【问题讨论】:
标签: objective-c macos file fsevents
我正在使用 Foundation 框架和 FSEvents API 在 XCode 中为 MAC 开发文件夹监视应用程序。在打开文件进行其他操作之前,我需要知道文件是否已完全复制到目标位置。有什么办法知道吗?请指教
【问题讨论】:
标签: objective-c macos file fsevents
我注意到 FSEvents API 在开头发送“create”事件,在结尾发送“create-and-modify”。在我的项目中,我使用了零延迟的 FSEventsStream,并在创建时使用了“NoDefer”标志。仅观察“修改”事件可能会为您提供文件复制已完成的信息。
【讨论】:
从简单地研究FSEvents API 我会说你想要的东西是不可能的。不过,我可能弄错了,我自己从未使用过 FSEvents。 this question的提问者通过lsof单独监控新文件解决了问题。
【讨论】:
您可以检查您要打开的文件是否存在? 并采取相应的行动。
【讨论】: