美文网首页swift编程开发
Swift遍历文件夹中的文件

Swift遍历文件夹中的文件

作者: 冷大大_hawkleng | 来源:发表于2016-06-02 23:36 被阅读964次

    这篇文章之前已经发过,但是使用的如下代码,后来又找到更好的解决方案,所以更新一下,推荐使用更新过的。
    先看一下之前的版本,如下段所示:

    /// (obsolete) 获取指定文件夹下的所有文件名
    /// - parameter path: 文件夹路径
    /// - returns: 所有文件名数组
    static func findFiles(path: String) -> [String] {
        var files = [String]()
        let fileManager = NSFileManager.defaultManager()
        let enumerator: NSDirectoryEnumerator = fileManager.enumeratorAtPath(path)!
        while let element = enumerator.nextObject() as? String {
            files.append(element)
        }
        return files
    }
    

    下面是更新过的,更新过的代码看起来更简洁,并且支持文件扩展名过滤:

    /// (recommended) 获取指定文件夹下符合扩展名要求的所有文件名
    /// - parameter path: 文件夹路径
    /// - parameter filterTypes: 扩展名过滤类型(注:大小写敏感)
    /// - returns: 所有文件名数组
    static func findFiles(path: String, filterTypes: [String]) -> [String] {
        do {
            let files = try NSFileManager.defaultManager().contentsOfDirectoryAtPath(path)
            if filterTypes.count == 0 {
                return files
            }
            else {
                let filteredfiles = NSArray(array: files).pathsMatchingExtensions(filterTypes)
                return filteredfiles
            }
        }
        catch {
            return []
        }
    }
    
    Swift Dev for MacOS

    相关文章

      网友评论

        本文标题:Swift遍历文件夹中的文件

        本文链接:https://www.haomeiwen.com/subject/jcvkdttx.html