16

我从 NSSavePanel 中检索了一个 NSURL。我现在有了这个 NSURL,它给了我以下信息:

file://localhost/Users/brett/Documents/asdf%20asdf.json

现在,我可以很容易地使用以下内容仅检索文件名:

[[[NSFileManager defaultManager] displayNameAtPath:pathAndFilename] stringByDeletingPathExtension]

正如预期的那样,这给了我本地化的文件名:asdf%20asdf

那么,我如何获得路径,如下所示: file://localhost/Users/brett/Documents/

4

3 回答 3

35

-[NSURL URLByDeletingLastPathComponent]是实现这一目标的最简单方法。

于 2013-04-09T17:18:30.023 回答
28

您可以使用NSString方法来处理文件路径。例如,

NSString *directory = [[URL absoluteString] stringByDeletingLastPathComponent];
NSString *filename = [[URL absoluteString] lastPathComponent];

您可以在 Apple Docs 中找到其他有用的方法:NSString Class Reference -> Working with Paths部分

于 2012-10-04T01:59:43.410 回答
1

直接从您的 NSSavePanel 中:

NSSavePanel *savePanel;
...
NSString *path = savePanel.directoryURL.path;
于 2015-04-21T12:22:39.197 回答