我正在尝试学习新的Swift编程语言。看起来不错,但是我很难做一些事情,就像读取本地.txt文件的内容一样简单。
我尝试了一些可以通过Google找到的示例,但是它们会产生编译错误,例如此处的答案:从文本文件读取和写入数据 如果我稍稍修改一下代码,它就可以工作,但只能从内部的特殊位置读取该项目。
为什么用Swift读取.txt文件不像使用Ruby这样简单?我将如何读取位于的文件的内容~/file.txt?
~/file.txt
如果您的路径中有波浪号,则可以尝试以下操作:
let location = "~/file.txt".stringByExpandingTildeInPath let fileContent = NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding, error: nil)
否则,只需使用以下命令:
let location = "/Users/you/Desktop/test.txt" let fileContent = NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding, error: nil)
这为您提供了文件的字符串表示形式,我认为这就是您想要的。您可以NSData(contentsOfFile: location)用来获取二进制表示形式,但通常是针对音乐文件而不是文本文件。
NSData(contentsOfFile: location)
更新:使用Xcode 7和Swift 2不再有效。 您现在可以使用
let location = NSString(string:"~/file.txt").stringByExpandingTildeInPath let fileContent = try? NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding)