【问题标题】:How would I check for a file in a specified directory in Swift 5?如何在 Swift 5 中检查指定目录中的文件?
【发布时间】:2020-07-19 01:19:33
【问题描述】:

我正在尝试验证用户的“下载”文件夹中是否存在文件。我已经在权限中启用了对下载文件夹的访问。到目前为止,这是我尝试过的:

        let path = "~/Downloads/Game_Folder/GameFile.obb"
        let hasFile = FileManager().fileExists(atPath: path)
        if hasFile {
            installationLabel.stringValue = "Game Files Found!"
        }
        else {
            installationLabel.stringValue = "Game Files Not Found"
        } 

测试时总是提示“找不到游戏文件”。我还没有在 Swift 5 中找到一个明确的解决方案,所以这就是我问的原因。

感谢您的帮助!

【问题讨论】:

  • 这不是访问“下载”文件夹的正确方法。请记住,您是沙盒,加上“旋转”字符对文件管理器没有任何意义。
  • 我将如何访问“下载”文件夹?我已经在“签名和功能”中为下载文件夹启用了读/写,所以我应该有权限吗?
  • 您必须询问文件管理器的下载文件夹在哪里,然后从那里开始。例如见stackoverflow.com/q/50200377/341994
  • 技术上是的,但我想出了一个我相信的更优雅的解决方案。我把它贴在问题下面。

标签: swift macos swift5 nsfilemanager


【解决方案1】:

想通了。这是我为 Swift 5 写的内容。

let path = NSString(string: "~/test-node.js").expandingTildeInPath
let fileDoesExist = FileManager.default.fileExists(atPath: path)

“~/test-node.js”应替换为您要验证是否存在的文件的路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多