提问人:Tom 提问时间:9/7/2023 更新时间:9/7/2023 访问量:39
iOS 写入和读取相同的文件
iOS write & read the same file
问:
亲爱的
这是一个如此明显的情况,我敢肯定我误解了某些事情,但有人可以向我解释为什么如此简单的写入文件并重新读取同一文件会失败吗? 当然,这不是完整的代码,我只是将其简化到最低限度以举例说明我的问题:
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, world!")
.padding()
}
init() {
let filename = "test.txt"
let data: Data = "My file content test".data(using: .utf8)!
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = documentsDirectory.appendingPathComponent(filename)
do {
print("dbg_001 : \(fileURL)")
try data.write(to: fileURL)
print("dbg_002 : \(fileURL.absoluteString)")
let dataContent = try Data(contentsOf: URL(fileURLWithPath: fileURL.absoluteString))
print("dbg_003")
} catch {
print("Error: \(String(error.localizedDescription))")
}
}
}
当我在iOS iPod模拟器上启动上面的应用程序时,我得到以下输出:
dbg_001 : file:///Users/Joe/Library/Developer/CoreSimulator/Devices/FC7F11C6-87C1-4536-80E5-E5E1C8C6653C/data/Containers/Data/Application/762140F3-76B0-44D1-AD48-0C89B2AAA150/Documents/test.txt
dbg_002 : file:///Users/Joe/Library/Developer/CoreSimulator/Devices/FC7F11C6-87C1-4536-80E5-E5E1C8C6653C/data/Containers/Data/Application/762140F3-76B0-44D1-AD48-0C89B2AAA150/Documents/test.txt
Error: The file ???test.txt??? couldn???t be opened because there is no such file
因此,写入成功,但读取不成功。我错过了什么?
尝试写入文件,因此读回了以前写入的数据
答: 暂无答案
上一个:尝试使用具有多个资源的资源
评论
URL(fileURLWithPath: fileURL.absoluteString)
这是不对的......它应该是 ,或者只是使用 ,因为它已经是一个 URL。URL(fileURLWithPath: fileURL.path)
fileURL
try Data(contentsOf: fileURL)
不起作用?URL(fileURLWithPath: fileURL.absoluteString)
fileURL
URL
URL