gpt4 book ai didi

macos - 检查文件是否是 Swift 的别名

转载 作者:可可西里 更新时间:2023-11-01 00:52:19 26 4
gpt4 key购买 nike

如何检查文件是否是 Mac 上的别名?到目前为止,这是我的代码:

public func getFiles(){
let folderPath = "/Users/timeBro/Desktop/testfolder"
let fileManager = NSFileManager.defaultManager()
let enumerator:NSDirectoryEnumerator = fileManager.enumeratorAtPath(folderPath)!

for url in enumerator.allObjects {

let newurl = NSURL(string: url as! String)
print("\(url as! String)")
print(url);
print(newurl?.isFileReferenceURL())
}
}

如何检查文件是否有别名?

最佳答案

有一个简单的解决方案,无需任何指针处理即可完全解决:

extension URL {
func isAlias() -> Bool? {
let values = try? url.resourceValues(forKeys: [.isSymbolicLinkKey, .isAliasFileKey])
let alias = values?.isAliasFile
let symbolic = values?.isSymbolicLink

guard alias != nil, symbolic != nil else { return nil }
if alias! && !symbolic! {
return true
}
return false
}
}

说明:resourceValues(forKeys:) 为符号链接(symbolic link)返回 .isAliasFile .isSymbolicLink 所以你有以确保在检查别名时返回前者而后者不返回。如果路径不存在,函数返回 nil。

关于macos - 检查文件是否是 Swift 的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33337721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com