How to determine if a file copy is completed using cocoa

662 Views Asked by At

I am developing folder watcher application for MAC in XCode using Foundation framework and FSEvents API. I need to know whether the file has been completely copied to the destination before I open the file for other operation. Is there any way of knowing it? please advice

3

There are 3 best solutions below

0
On BEST ANSWER

From simply studying the FSEvents API I would say that what you want is not possible. I could be mistaken, though, I have never used FSEvents myself. The asker of this question has solved the problem by separately monitoring the new file with lsof.

0
On

you can check that whether the file you want to open is exist or not? and act accordingly.

2
On

I noticed that FSEvents API sends "create" event at beginning and "create-and-modify" at the end. On my project I used FSEventsStream with zero latency, and "NoDefer" flag on creation. Watching for "Modify" only events may give you information that file copy is completed.