String(contentsOf:URL)返回“没有这样的文件或目录”

时间:2019-01-13 22:58:47

标签: swift macos

我是个敏捷的初学者,我正在尝试编写一个函数,该函数读取* .csv文件的内容并返回一个二维数组[[Double]]。

我正在使用在macOS 10.14上运行的Xcode 10.1。

我正在操场上使用以下代码将文件的内容读取为字符串:

let home = FileManager.default.homeDirectoryForCurrentUser // 

let file = "Documents⁩/MyAppName⁩/x.csv"

let url = home.appendingPathComponent(file)

url.path // This gives: "/Users/userName/Documents⁩/MyAppName⁩/x.csv"

let s = try String(contentsOf: url)

我收到以下错误:

  

Error Domain = NSCocoaErrorDomain代码= 260“由于没有这样的文件,因此无法打开文件“ x.csv”。” UserInfo = {NSFilePath = / Users / userName /Documents⁩/MyAppName⁩/ x.csv,NSUnderlyingError = 0x7febf3c991b0 {Error Domain = NSPOSIXErrorDomain Code = 2“没有此类文件或目录”}}

我知道这可能是一件非常简单的事情,但我忘记了,但是我花了很多时间寻找解决方案,但找不到。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

问题出在这一行:

let file = "Documents⁩/MyAppName⁩/x.csv"

您看不到它,但是在s/之间有一个隐藏的字符-U + 2069-“ POP方向隔离”。再次重新输入该行,不带任何特殊字符,您的代码即可使用。

此外,这是创建文档文件夹URL的方法。

let home = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!

let file = "MyAppName⁩/x.csv"