在Cocoa中移动文件

时间:2016-06-12 11:21:54

标签: macos file cocoa nsfilemanager

我想将文件从文件夹移动到另一个文件夹

我用过

[[NSFileManager defaultManager]moveItemAtPath:@"Folder/Filename.fileExtension" toPath:@"FolderToMoveTheFile" error:nil];

还有其他东西要输入错误:?

为什么它不移动我的文件?

1 个答案:

答案 0 :(得分:3)

这样做会导致错误:

NSError* error;
if (![[NSFileManager defaultManager]moveItemAtPath:@"Folder/Filename.fileExtension" toPath:@"FolderToMoveTheFile" error:&error])
{
    // handle error, typically using the NSError object pointed to by the error variable
    // In an app, you might want to pass it to a -presentError:... method of a convenient responder
    // This is good enough for debugging:
    NSLog(@"failed to move file: %@", error);
}

toPath:之后的第二条路径必须是路径,包括目的地的文件名。只需指定要将文件移动到的目录的路径,正确。

此外,您通常应使用绝对路径,而不是相对路径。您可以使用相对路径,但这取决于进程的当前工作目录。对于从Finder或Dock启动的应用程序而言,这是任意的。它实际上只对从shell(例如终端窗口)启动的命令行工具有意义,在这些工具中,用户可能希望cd到目录,然后提供相对路径作为命令行参数。 / p>