在 Swift 3 中检查文件路径中的文件是否存在(处理异常)

To check file Existence at filepath (Handling exception) in Swift 3

我正在尝试检查 swift 3 中的路径中是否存在文件,但它始终显示 "NO FILE EXIST"

我也尝试过 atPath: self.strTitle+"/back/index.html" 即使这样也行不通。

这里的strTitle是asset文件夹里面的文件路径,通过数组读取。有两页,一页在背面,一页在正面。因此,所有页面都有正面,但背面页面仅限于少数。这就是它打破的地方。

print("STR TITLE::  ",self.strTitle) .   // STR TITLE = assets/a6th_nerve_palsy
let fileManager : FileManager   = FileManager.default

if fileManager.fileExists(atPath: self.strTitle+"/back/index"){
    print("FILE EXIST")

    }else{
        print("NO FILE EXIST")
    }

提前致谢:)

要找到您应该尝试此代码的路径。

class Controller : UIViewController {

    override func viewDidLoad() {
        let bundle = Bundle(for: Controller.self)
        let filePath = bundle.path(forResource: "index", ofType: "html")
        let fileManager : FileManager   = FileManager.default

        if fileManager.fileExists(atPath: filePath!){
            print("file found")
        } else {
            print("file not found")
        }
    }

}

经过调试并在@LeoDabus 的帮助下,我明白了。可以直接检查文件路径是否存在。

let bundle = Bundle(for: PageContentViewController.self)
let filePath = bundle.path(forResource: self.strTitle+"/back/index", ofType: "html")

        if filePath == nil{
            print("FILE NOT FOUND")
            // Show No page as page do not exist
        } else {
            print("FILE FOUND")
            // Show Back page
        }

谢谢大家。 :)

let fileName = getDocumentsDirectory().appendingPathComponent("\(lastPath)")
          if FileManager.default.fileExists(atPath: fileName){
                        try? FileManager.default.removeItem(atPath: fileName)
               }

func getDocumentsDirectory() -> NSString {
     let paths =  NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    let documentsDirectory = paths[0]
    return documentsDirectory as NSString
}