是否有一些明显的原因导致生成 nil 字符串而不是文件的实际文本内容?
NSString *fromFile = [NSString stringWithContentsOfFile:
@"file://localhost/Users/username/Desktop/test.txt"];
NSLog(@"%@", fromFile);
PRINTS: "(null)"
该文件是从 TextWrangler 保存的纯 ASCII 文本文件,内容为“abc”。
该路径来自将实际文件从桌面拖到 Xcode 编辑器窗口中。
我也尝试过不使用“file://localhost”。
方法文档说“如果文件无法打开则返回nil”。该文件没有任何异常(未锁定等)。它具有默认的 Unix 权限,并且由运行 Xcode 的同一用户创建。
我知道此方法已被弃用 - 首先尝试使其正常工作。
最佳答案
您混淆了 stringWithContentsOfFile:
和 stringWithContentsOfURL:
。
如果您传入 URL,例如
@“文件://localhost/Users/用户名/桌面/test.txt”
您想要的 stringWithContentsOfURL:
并将参数设置为 NSURL
例如
[NSURL URLWithString:@"file://localhost/Users/username/Desktop/test.txt"]
如果你想使用stringWithContentsOfFile:
参数应该是
@"/Users/用户名/Desktop/test.txt"
关于objective-c - Cocoa:从文件获取字符串的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318683/