CreateDirectoryAtPath:不起作用

时间:2013-02-13 09:53:00

标签: objective-c cocoa nsfilemanager

我的代码很简单:

NSFileManager *fileManager = [NSFileManager defaultManager];

if (!fileManager) NSLog(@"Manager doesn't exist!");

if(![fileManager fileExistsAtPath:destString]) {
    if (![fileManager createDirectoryAtPath:destString withIntermediateDirectories:YES attributes:nil error:&error]){
        NSLog(@"%@", [error localizedFailureReason]);
    }
}
else NSLog(@"Exists!");

乏:

destString = file://localhost/Users/SOMEUSER/Desktop/NEWFOLDER/

当我尝试创建一个文件夹时,程序会写入" Exists"但桌面上并不存在。当我删除fileExistsAtPath时,那里没有错误,但也没有目录。 Thx 4回复!

1 个答案:

答案 0 :(得分:4)

-createDirectoryAtPath:withIntermediateDirectories:attributes:error:将路径创建为UNIX样式的路径字符串,而不是文件URL样式的字符串。也就是说,你想传递一个像/Users/SOMEUSER/Desktop/NEWFOLDER/这样的字符串。

或者,如果您正在处理网址样式的字符串,那么您可以转而使用-createDirectoryAtURL:withIntermediateDirectories:attributes:error:代替字符串构建NSURL