首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift: FileManager().fileExists(atPath:(fileURL.path))

Swift: FileManager().fileExists(atPath:(fileURL.path))
EN

Stack Overflow用户
提问于 2022-04-14 11:56:44
回答 1查看 276关注 0票数 0

)

今天我遇到了一个问题,我找不到一个简单的解决办法。

通过以下方式:

代码语言:javascript
运行
复制
FileManager().fileExists(atPath:(fileURL.path))

找出一个文件是否存在很简单。实际上,我有文件名,但不知道扩展名。如何使用FileManager()查找没有扩展名的文件。类似于.deletingPathExtension()的FileManger().fileExists?有点像

代码语言:javascript
运行
复制
ls filename.*
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-14 12:23:48

您可以创建一个FileManager扩展名来检索目录的内容和文件的筛选器以及预期的文件名。

它看起来可能是这样的:

代码语言:javascript
运行
复制
extension FileManager {
    func urls(of filename: String, in directory: URL)  -> [URL]? {
        guard let urls = try? contentsOfDirectory(at: directory, includingPropertiesForKeys: nil, options: [])
            else { return nil }
        
        return urls.filter { url in
            !url.hasDirectoryPath && url.deletingPathExtension().lastPathComponent == filename
        }
    }
}

最后,有人会这样称呼它:

代码语言:javascript
运行
复制
let directory = URL(string: "file:///Users/stephan/tmp")!
if let urls = FileManager.default.urls(of: "test", in: directory) {
    for url in urls {
        print("do something with url: \(url)")
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71871231

复制
相关文章

相似问题

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