我有一个原始文件 ./path/to/foo.txt
和指向它的符号链接/other/path/to/foo.txt
. 我删除/path/to/foo.txt
,但将符号链接保留在原地。如何使用 Cocoa API 判断符号链接仍然存在?
我通过使用标准/推荐找到了这一点FileManager.fileExists(atPath:)
。对于不熟悉该 API 的任何人来说,这里的问题是它遍历符号链接。所以,当我这样做时:
FileManager.default.fileExists(atPath: "/other/path/to/foo.txt")
它返回false
,因为它看到我给了它一个符号链接并解析了它,然后看到解析的路径中没有文件。
正如文档所说:
如果
path
您的应用程序无法访问 at 的文件,可能是因为一个或多个父目录无法访问,则此方法返回false
. 如果 in 中的最后一个元素path
指定了符号链接,则此方法遍历链接并返回true
或false
基于链接目标处文件的存在。
中似乎没有替代方案FileManager
。所以,我想知道我是否可以调用 Cocoa API 来判断那里是否存在符号链接,或者我是否必须求助于 C 或 Bash API。