copyItemAtPath:toPath:error:返回NO

时间:2012-08-06 17:22:21

标签: objective-c macos nsurl nsfilemanager file-copying

我正在阅读的章节正在谈论NSFileManager,作者说要创建一个名为testFile的空文件。 testFilemain.m位于同一文件夹下。我没有创建newfile。我无法复制testFilereturning 2NSLog @"couldnt copy file"。我试图把toPath的参数:@"/Users/el/Desktop/prog/prog/newfile"

int main (int argc, char *argv[]) {
    @autoreleasepool {
        NSString *fName = @"/Users/el/Desktop/prog/prog/testFile";
        NSFileManager *fm = [NSFileManager defaultManager];

        if ([fm fileExistsAtPath: fName] == NO) {
            NSLog(@"couldnt find file");
            return 1;
        }

        if ([fm copyItemAtPath:fName toPath:@"newfile" error:NULL] == NO) {
            NSLog(@"couldnt copy file");
            return 2;
        }

1 个答案:

答案 0 :(得分:0)

第二条路径也必须是绝对的。

[fm copyItemAtPath: @"/Users/el/Desktop/prog/prog/testFile" toPath: @"/Users/el/Desktop/prog/prog/newFile" error: NULL];

注意:您应该使用基于NSURL的方法,而不是基于NSString的方法。