将NSURL转换为本地文件路径


112

我有一个看起来像这样的NSURL:

文件://本地主机/用户/myuser/myfile.txt

是否有将其转换为本地文件路径的标准函数,如下所示:

/Users/myuser/myfile.txt

Answers:


222

使用-[NSURL path]方法:

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

从文档中:

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

如果此URL对象包含文件URL(由确定isFileURL),则此方法的返回值适合于输入到NSFileManager或NSPathUtilities的方法中。如果路径中带有斜线,则将其删除。

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

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


8
根据您从何处获取URL,您可能要检查是否[myURL isFileURL]为真。
马特·康诺利

3

斯威夫特4:

absoluteURL.path 

要么

yourUrl.path
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.