将NSURL转换为本地文件路径

sas*_*alm 109 macos xcode objective-c

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

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

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

/Users/myuser/myfile.txt

小智 217

使用-[NSURL path]方法:

NSLog(@"%@", myUrl.path);
Run Code Online (Sandbox Code Playgroud)

从文档:

URL的路径,未使用该stringByReplacingPercentEscapesUsingEncoding:方法.如果接收方不符合RFC 1808,则返回nil.

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

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

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

  • 根据您从哪里获取URL,您可能需要检查`[myURL isFileURL]`是否为真. (8认同)