在 Swift 中检查文件是不是存在于带有文件名前缀的目录中

Posted

技术标签:

【中文标题】在 Swift 中检查文件是不是存在于带有文件名前缀的目录中【英文标题】:Check file exists in directory with prefix of file name in Swift在 Swift 中检查文件是否存在于带有文件名前缀的目录中 【发布时间】:2015-07-09 09:38:55 【问题描述】:

我想检查我的文件是否在 SWIFT 中仅存在文件名前缀。

例如

我的文件名是 Companies_12344

所以在 _ 值是动态的但“Companies_”之后是静态的。

我该怎么做?

我已经在下面完成了拆分文件名代码

如何通过 NSFileManager 检查是否存在带有“Companies_”的文件名

我下面的代码用于拆分

 func splitFilename(str: String) -> (name: String, ext: String)? 
    if let rDotIdx = find(reverse(str), "_")
    
        let dotIdx = advance(str.endIndex, -rDotIdx)
        let fname = str[str.startIndex..<advance(dotIdx, -1)]
        println("splitFilename >> Split File Name >>\(fname)")
    


    return nil

【问题讨论】:

对于拆分,您只需执行 str.componentsSeparatedByString("_") 是的,这很好......但是有了这个前缀名称,我如何从 NSFileManager 检查文件是否存在? 和你之前的问题***.com/questions/31295161/…有什么区别? Martin,上一篇是关于要拆分的文件名,有点混乱..所以这次我更准确地添加了它 NSFIlemanager... 【参考方案1】:

我认为你需要这段代码:

let str = "Companies_12344"

if str.hasPrefix("Companies") 
    println("Yes, this one has 'Companies' as a prefix")
    let compos = str.componentsSeparatedByString("_")
    if let file = compos.first 

        println("There was a code after the prefix: \(file)")
        var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String

        var yourPath = paths.stringByAppendingPathComponent("\(file)_")

        var checkValidation = NSFileManager.defaultManager()

        if (checkValidation.fileExistsAtPath(yourPath))
        
            println("FILE AVAILABLE");
        
        else
        
            println("FILE NOT AVAILABLE");
        
    

【讨论】:

以上是关于在 Swift 中检查文件是不是存在于带有文件名前缀的目录中的主要内容,如果未能解决你的问题,请参考以下文章

检查文件是不是已经存在于webview缓存android中

检查文件夹是不是存在于 Access Continuous Forms 中

检查 UIButton 在 Swift 中是不是已经存在

如何检查目录中是不是存在扩展名为 .txt 的文件?

std::ofstream,写入前检查文件是不是存在

std::ofstream,写入前检查文件是不是存在