它们是不同的还是简单的别名?
通过运行:
获取/ private / varFileManager.default.contentsOfDirectory(at: folder, includingPropertiesForKeys: [], options: [])
第二个是用简单的创建的:
data.write(to: f, options: [.atomic])
其中f与"文件夹"
在同一目录中答案 0 :(得分:3)
这是相同的目录,可以通过检索来验证 两者的“规范路径”:
let url1 = URL(fileURLWithPath: "/var/mobile/Containers/")
if let cp = (try? url1.resourceValues(forKeys: [.canonicalPathKey]))?.canonicalPath {
print(cp)
// "/private/var/mobile/Containers"
}
let url2 = URL(fileURLWithPath: "/private/var/mobile/Containers/")
if let cp = (try? url2.resourceValues(forKeys: [.canonicalPathKey]))?.canonicalPath {
print(cp)
// "/private/var/mobile/Containers"
}
事实上,/var
是/private/var
的符号链接:
var buffer = Array<Int8>(repeating: 0, count: 1024)
if readlink("/var", &buffer, buffer.count) > 0 {
print(String(cString: &buffer))
// "private/var"
}
答案 1 :(得分:0)
对于Swift用户,使用URL.standardizedFileURL
可以消除由包含软链接或最终解析为同一文件的其他不同元素的路径引起的歧义/混乱。