一尘不染

使用Swift读取本地文件的简单方法?

swift

我正在尝试学习新的Swift编程语言。看起来不错,但是我很难做一些事情,就像读取本地.txt文件的内容一样简单。

我尝试了一些可以通过Google找到的示例,但是它们会产生编译错误,例如此处的答案:从文本文件读取和写入数据 如果我稍稍修改一下代码,它就可以工作,但只能从内部的特殊位置读取该项目。

为什么用Swift读取.txt文件不像使用Ruby这样简单?我将如何读取位于的文件的内容~/file.txt


阅读 832

收藏
2020-07-07

共1个答案

一尘不染

如果您的路径中有波浪号,则可以尝试以下操作:

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)用来获取二进制表示形式,但通常是针对音乐文件而不是文本文件。

更新:使用Xcode 7和Swift 2不再有效。 您现在可以使用

let location = NSString(string:"~/file.txt").stringByExpandingTildeInPath
let fileContent = try? NSString(contentsOfFile: location, encoding: NSUTF8StringEncoding)
2020-07-07