我想在swift中读取一个文本文件中的内容,我所做的步骤是
- 转到终端并读取/创建文件
- 转到Xcode,文件->将文件添加到"我的项目"中,然后选择test_将该文件添加到项目中
- 使用以下代码阅读内容
/// terminal
/// $echo "some content" > /Users/test_this
/// swift
let file = "/Users/test_this"
let path = URL(fileURLWithPath: file)
let text = try? String(contentsOf: path)
但是,打印出文件、路径和文本后。文本为零。文件和路径看起来不错如何在swift中读取文本文件中的内容?
考虑到您已经将test.txt
文件添加到Xcode项目中,请尝试类似的方法。
struct ContentView: View {
@State var fileTxt = ""
var body: some View {
Text(fileTxt)
.onAppear {
if let theString = readLocalData() {
fileTxt = theString
print("---> fileTxt: (fileTxt)")
}
}
}
func readLocalData() -> String? {
if let pathString = Bundle.main.path(forResource: "test", ofType: "txt") {
let url = URL(fileURLWithPath: pathString)
do {
return try String(contentsOf: url)
// alternative
// let data = try Data(contentsOf: url)
// return String(data: data, encoding: .utf8)
} catch {
print(error) // <-- here important
}
}
// vadian cleaner alternative
// if let url = Bundle.main.url(forResource: "test", withExtension: "txt") {
// do {
// return try String(contentsOf: url)
// } catch {
// print(error) // <-- here important
// }
// }
return nil
}
}
带有test.txt
文件内容:
Hello World
注意:将文件test.txt
添加到您的Xcode
项目中。
- 打开
Xcode
并导航到您的项目,确保左侧面板显示项目的文件夹/文件 - 打开
Finder
并导航到您的test.txt
文件 - 将
test.txt
文件从Finder
拖放到Xcode项目的左面板中
完成后,Build
然后是run
我的代码。
或者,您可以在Xcode中创建New File
,方法是:用鼠标右键单击显示文件夹/文件的左侧面板,然后选择New File...
,向下滚动然后选择,Empty
文件。给它取个名字test.txt
。文件将创建并添加到您的Xcode项目中。在Xcode中打开此文件,然后键入:Hello from the test.txt file
。构建然后运行我的代码。