首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查Swift的Documents目录下是否存在文件?

如何检查Swift的Documents目录下是否存在文件?
EN

Stack Overflow用户
提问于 2014-06-12 18:05:30
回答 5查看 131.9K关注 0票数 145

如何在Swift的Documents目录中检查文件是否存在

我正在使用[ .writeFilePath ]方法将图像保存到Documents目录中,并且我想在每次启动应用程序时加载它。但是如果没有保存的图像,我有一个默认的图像。

但是我就是想不通如何使用[ func fileExistsAtPath(_:) ]函数。谁能给出一个使用函数的例子,其中传递了一个路径参数。

我相信我不需要在其中粘贴任何代码,因为这是一个通用的问题。任何帮助都将不胜感激。

干杯

EN

回答 5

Stack Overflow用户

发布于 2014-06-12 18:08:55

它对用户非常友好。只需使用NSFileManager的defaultManager单例,然后使用fileExistsAtPath()方法,该方法只接受一个字符串作为参数,并返回一个布尔值,允许将其直接放入if语句中。

代码语言:javascript
复制
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentDirectory = paths[0] as! String
let myFilePath = documentDirectory.stringByAppendingPathComponent("nameOfMyFile")

let manager = NSFileManager.defaultManager()
if (manager.fileExistsAtPath(myFilePath)) {
    // it's here!!
}

请注意,在Swift 2中,向下转换为String不是必需的。

票数 17
EN

Stack Overflow用户

发布于 2017-06-19 15:19:30

非常简单:如果您的路径是一个URL实例,则通过' path‘方法转换为字符串。

代码语言:javascript
复制
    let fileManager = FileManager.default
    var isDir: ObjCBool = false
    if fileManager.fileExists(atPath: yourURLPath.path, isDirectory: &isDir) {
        if isDir.boolValue {
            //it's a Directory path
        }else{
            //it's a File path
        }
    }
票数 5
EN

Stack Overflow用户

发布于 2019-01-22 08:57:53

这在swift4中可以很好地工作:

代码语言:javascript
复制
func existingFile(fileName: String) -> Bool {

    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    if let pathComponent = url.appendingPathComponent("\(fileName)") {
        let filePath = pathComponent.path
        let fileManager = FileManager.default
        if fileManager.fileExists(atPath: filePath) 

       {

        return true

        } else {

        return false

        }

    } else {

        return false

        }


}

您可以使用此调用进行检查:

代码语言:javascript
复制
   if existingFile(fileName: "yourfilename") == true {

            // your code if file exists

           } else {

           // your code if file does not exist

           }

我希望它对某些人有用。@;-]

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24181699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档