我无法从Swift中的.text文件中读取文本字符串。
我可以设法使用以下代码编写文件
var writeError: NSError?
let theFileToBeWritten = theStringWillBeSaved.writeToFile(pathToTheFile, atomically: true, encoding: NSUTF8StringEncoding, error: &writeError);
但每当我尝试使用" String.stringWithContentsOfFile"读取文件时,我得到"' String.Type'没有名为' stringWithContentsOfFile'"的成员。 stringWithContentsOfFile也不会出现在自动完成中。
我正在使用Xcode 6.1 GM Seed 2。
我见过人们使用" stringWithContentsOfFile"在许多教程和堆栈溢出中读取文件中的文本,但为什么它对我不起作用?
答案 0 :(得分:17)
尝试这样的事情:
var error:NSError?
let string = String(contentsOfFile: "/usr/temp.txt", encoding:NSUTF8StringEncoding, error: &error)
if let theError = error {
print("\(theError.localizedDescription)")
}
Swift 2.2:
if let string = try? String(contentsOfFile: "/usr/temp.txt") {
// Do something with string
}
答案 1 :(得分:4)
在swift中为String contentsOfFile更正语法是:
String(contentsOfFile: "String", encoding: "NSStringEncoding", error: "NSErrorPointer")
答案 2 :(得分:0)
你可以这样做
var error : NSError?
var myFileContent = String()
myFileContent = NSString.stringWithContentsOfFile("yourFilePath", encoding: NSUTF8StringEncoding, error: &error)
if let optionalError = error{
println("\(optionalError.localizedDescription)")
}