Gho*_*108 3 macos cocoa nsfilemanager swift
我想打开一个.txt文件并将内容保存为String.我试过这个:
let path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("xxx.txt")
var contentString = try String(contentsOfFile: path.absoluteString)
print(path)
Run Code Online (Sandbox Code Playgroud)
打印结果:
file:///Users/Username/Documents/xxx.txt
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
The file “xxx.txt” couldn’t be opened because there is no such file
Run Code Online (Sandbox Code Playgroud)
该文件100%可用
注意:我使用swift 4 for macOS
Mar*_*n R 15
您的path变量是一个URL,并path.absoluteString返回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)
Run Code Online (Sandbox Code Playgroud)
但更好的方法是避免转换并使用基于URL的方法:
let path = ... // some URL
let contentString = try String(contentsOf: path)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6143 次 |
| 最近记录: |