将 NSURL 转换为本地文件路径

Convert NSURL to local file path

提问人:sashoalm 提问时间:8/5/2011 最后编辑:sashoalm 更新时间:6/8/2018 访问量:68123

问:

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

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

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

/Users/myuser/myfile.txt
Objective-C Xcode macOS

评论


答:

233赞 user142019 8/5/2011 #1

使用方法:-[NSURL path]

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

从文档中:

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

如果此 URL 对象包含文件 URL(由 确定),则此方法的返回值适用于输入到 NSFileManager 或 NSPathUtilities 的方法中。如果路径具有尾部斜杠,则将其剥离。isFileURL

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

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

评论

9赞 Matt Connolly 5/8/2013
根据您从哪里获取 URL,您可能需要检查是否为 true。[myURL isFileURL]
7赞 Naishta 6/8/2018 #2

斯威夫特 4:

absoluteURL.path 

yourUrl.path