检查路径是否为Swift2中的目录?[重复]

ux6nzvsh  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(180)

此问题在此处已有答案

NSFileManager fileExistsAtPath:isDirectory and swift(5个答案)
六年前就关门了。
如果希望获得与Bash的-dif条件类似的功能。
我知道如何使用fileExistsAtPath()测试文件是否存在,如果文件存在,则返回一个布尔值“true”,如果不存在,则返回“false”(假设path是一个包含文件路径的字符串):

if NSFileManager.fileExistsAtPath(path) {
    print("File exists")
} else {
    print("File does not exist")
}

但是,我想检查path中指定的路径是否是目录,类似于下面的bash代码:

if [ -d "$path" ]; then
    echo "$path is a directory"
elif [ -f "$path" ]; then
    # this is effectively the same as fileExistsAtPath()
    echo "$path is a file"
fi

这是否可能,如果可能,应如何执行?

svujldwt

svujldwt1#

您可以使用fileExistsAtPath的多载,告诉您path代表目录:

var isDir : ObjCBool = false
let path = ...
let fileManager = FileManager.default
if fileManager.fileExists(atPath: path, isDirectory:&isDir) {
    print(isDir.boolValue ? "Directory exists" : "File exists")
} else {
    print("File does not exist")
}

相关问题