我已经放了一个" 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"文件在其他地方?
答案 0 :(得分:0)
答案 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