当前位置: 首页 > 面试题库 >

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

文志学
2023-03-14
问题内容

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

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

但是我只是无法理解如何使用该[ func fileExistsAtPath(_:) ]功能。有人可以举一个使用传递路径参数的函数的例子。

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

干杯


问题答案:

Swift 4.x 版本

    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    if let pathComponent = url.appendingPathComponent("nameOfFileHere") {
        let filePath = pathComponent.path
        let fileManager = FileManager.default
        if fileManager.fileExists(atPath: filePath) {
            print("FILE AVAILABLE")
        } else {
            print("FILE NOT AVAILABLE")
        }
    } else {
        print("FILE PATH NOT AVAILABLE")
    }

Swift 3.x 版本

    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = URL(fileURLWithPath: path)

    let filePath = url.appendingPathComponent("nameOfFileHere").path
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: filePath) {
        print("FILE AVAILABLE")
    } else {
        print("FILE NOT AVAILABLE")
    }

Swift 2.x 版本,需要使用 URLByAppendingPathComponent

    let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    let filePath = url.URLByAppendingPathComponent("nameOfFileHere").path!
    let fileManager = NSFileManager.defaultManager()
    if fileManager.fileExistsAtPath(filePath) {
        print("FILE AVAILABLE")
    } else {
        print("FILE NOT AVAILABLE")
    }


 类似资料:
  • 问题内容: 我想检查我的Go代码中文件的存在,但是我找不到一种好的方法。 我知道有一种Java中的File方法:如果文件或目录存在,则返回true。 但是如何在Go中完成呢? 问题答案: 编辑以添加错误处理。

  • 问题内容: 如何检查C语言在Linux上是否存在目录? 问题答案: 您可以使用并检查是否失败:

  • 本文向大家介绍Node.js 检查文件或目录是否存在,包括了Node.js 检查文件或目录是否存在的使用技巧和注意事项,需要的朋友参考一下 示例 异步地 同步地 在这里,我们必须将函数调用包装在一个try/catch块中以处理错误。            

  • 我想检查一个现有的文件是否在一个特定的目录或子目录中。

  • 问题内容: 如何使用 node.js 同步检查文件或目录是否存在? 问题答案: 多年来,这个问题的答案已经改变。在 目前的 答案是在此间举行的顶部,然后用按时间顺序多年的各种答案: 当前答案 您可以使用: 它已被弃用了几年,但现在已不再使用。从文档: 请注意,不建议使用,但不建议使用。(用于接受与其他Node.js回调不一致的参数的回调参数。不使用回调。) 您已经明确要求进行 同步 检查,但是如果

  • 问题内容: 我正在尝试检查给定目录中的特定文件。我不需要代码,但我想修复已有的代码。这个问题的唯一区别是,我正在寻找带有扩展名的文件。 我已经准备好代码:- 但是由于某些原因,它不起作用。我不明白为什么,有人可以在这里找到任何错误吗? 问题答案: 您希望temp.MOD文件位于当前目录(运行应用程序的目录)中,还是希望它位于“目录”文件夹中?在后一种情况下,尝试以这种方式创建文件: 还要检查文件权