2011-08-05 122 views
98

我有一个看起来像这样的NSURL:转换NSURL到本地文件路径

file://localhost/Users/myuser/myfile.txt

是否有将其转换为寻找这样一个本地文件路径的标准功能:

/Users/myuser/myfile.txt

回答

202

使用该方法-[NSURL path]

NSLog(@"%@", myUrl.path); 

从文档:

URL的路径,未用stringByReplacingPercentEscapesUsingEncoding:方法转义。如果接收者不符合RFC 1808,则返回nil

如果此URL对象包含文件URL(如isFileURL所确定),则此方法的返回值适合输入到NSFileManager或NSPathUtilities的方法中。如果路径有尾部斜线,则会被剥离。

根据RFC 3986,权限(主机名和端口)部分之后的前导斜杠被视为路径的一部分。

请注意,您可以使用+[NSURL fileURLWithPath:]创建此类网址。

+8

根据您从哪里获取URL,您可能需要检查'[myURL isFileURL]是否为真。 –