如何在swift2中的本地目录中打开txt文件?

时间:2016-01-17 16:40:22

标签: ios file-io swift2

我已经放了一个" restaurants.txt"与MenuViewController.swift在同一目录中的文件。 然后我把这段代码放在MenuViewController的viewDidLoad()中来读取文件。

if let path = NSBundle.mainBundle().pathForResource("restaurants", ofType: "txt") {
        if let content = try? String(contentsOfFile: path, encoding: NSUTF8StringEncoding) {
            print(content)
        } else {
            print("error1")
        }
    } else {
        print("error")
    }

然后我得到" error1"在我的控制台中。 如何读取swift文件的同一目录中的文件? 或者我必须把我的" restaurants.txt"文件在其他地方?

2 个答案:

答案 0 :(得分:0)

将文件添加到目标:

  1. 选择文件
  2. 在Project Navigator 命令 1 中选择文件图标
  3. 在“目标成员资格”下,点击该文件的复选框。
  4. enter image description here

答案 1 :(得分:0)

1)如果您希望阅读文本文件的内容,即使不将其插入项目,也可以使用NSFileMananger。以下代码有效,唯一的缺点 - 您需要声明完整路径。

let fullPath = "/your/full/path/restaurants.txt"
    if NSFileManager.defaultManager().fileExistsAtPath(fullPath){
        do
        {
            let content = try String(contentsOfFile: fullPath, encoding: NSUTF8StringEncoding)
            print("\(content)")
        }
        catch let error as NSError
        {
            print("error reading file: \(error)")
        }
}

2)如果你介意硬编码,并希望它更通用 - 你将不得不在Build in Xcode中更改设置。看这里: Locate source project directory in Swift