无法打开文件“xxx”,因为没有这样的文件
The file “xxx” couldn’t be opened because there is no such file
我想打开一个 .txt 文件并将内容保存为字符串。
我试过这个:
let path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("xxx.txt")
var contentString = try String(contentsOfFile: path.absoluteString)
print(path)
打印结果:
file:///Users/Username/Documents/xxx.txt
但我收到错误消息:
The file “xxx.txt” couldn’t be opened because there is no such file
文件 100% 可用
注意:我使用 swift 4 for macOS
谢谢,我解决了我的问题。
我必须使用 .path 而不是 .absoluteString:
var contentString = try String(contentsOfFile: path.path)
您的 path
变量是 URL
,并且 path.absoluteString
returns
URL 的字符串表示形式(在您的例子中是字符串
"file:///Users/Username/Documents/xxx.txt"
), 不是基础文件路径
"/Users/Username/Documents/xxx.txt"
.
使用 path.path
是一个可能的解决方案:
let path = ... // some URL
let contentString = try String(contentsOfFile: path.path)
但更好的方法是避免转换并使用基于 URL 的
方法:
let path = ... // some URL
let contentString = try String(contentsOf: path)
我想打开一个 .txt 文件并将内容保存为字符串。 我试过这个:
let path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("xxx.txt")
var contentString = try String(contentsOfFile: path.absoluteString)
print(path)
打印结果:
file:///Users/Username/Documents/xxx.txt
但我收到错误消息:
The file “xxx.txt” couldn’t be opened because there is no such file
文件 100% 可用
注意:我使用 swift 4 for macOS
谢谢,我解决了我的问题。 我必须使用 .path 而不是 .absoluteString:
var contentString = try String(contentsOfFile: path.path)
您的 path
变量是 URL
,并且 path.absoluteString
returns
URL 的字符串表示形式(在您的例子中是字符串
"file:///Users/Username/Documents/xxx.txt"
), 不是基础文件路径
"/Users/Username/Documents/xxx.txt"
.
使用 path.path
是一个可能的解决方案:
let path = ... // some URL
let contentString = try String(contentsOfFile: path.path)
但更好的方法是避免转换并使用基于 URL 的 方法:
let path = ... // some URL
let contentString = try String(contentsOf: path)