在大多数命令行工具中,可以使用以下格式指定文件路径:../someFile
,~/anotherFile
,/foo/bar
。如何从这样的路径初始化有效的Swift URL
或(Foundation)路径?
修改
也许代码示例更清楚,比方说我想从路径初始化一个String,我的用户目录中有一个foo
文件,这样做:
try String(contentsOfFile: "~/foo")
不起作用(错误是文件不存在)
答案 0 :(得分:1)
在Swift中,你可以这样做:
let str = "~/Documents"
// NSString has a function for decoding this, not available to String:
let str2 = (str as NSString).standardizingPath as String
// Swift deprecated the String path manipulation functions,
// but supplies them as part of NSURL:
let url = URL(fileURLWithPath: str)
let url2 = url.standardizedFileURL // Expands the URL