我正在监视文件夹,当用户将文件复制到文件夹中时,我需要执行操作。但是,当我执行操作时,文件还没有内容。有没有办法检查复制的文件是否准备就绪?
答案 0 :(得分:0)
NSFileManager
有一个方法- (BOOL)fileExistsAtPath:(NSString *)path
所以你的代码看起来像是:
([[[NSFileManager alloc] init] fileExistsAtPath:myPath] == true)
{ do sth.; }
你可能想要选择一个while循环而不是if子句,但我想你知道如何处理它;)
希望我能提供帮助。
答案 1 :(得分:0)
我终于明白了。我可以使用NSPasteboard来检查当前正在复制的文件。 有了这些信息,我可以比较源和目标之间的文件大小,以了解副本何时完成。
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
NSArray *classes = [[NSArray alloc] initWithObjects:[NSURL class], nil];
NSDictionary *options = [NSDictionary dictionaryWithObject: [NSNumber numberWithBool:YES] forKey:NSPasteboardURLReadingFileURLsOnlyKey];
NSArray *copiedItems = [pasteboard readObjectsForClasses:classes options:options];