objective-c检查复制文件是否准备就绪

时间:2011-10-27 23:50:26

标签: objective-c

我正在监视文件夹,当用户将文件复制到文件夹中时,我需要执行操作。但是,当我执行操作时,文件还没有内容。有没有办法检查复制的文件是否准备就绪?

2 个答案:

答案 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];