NSData:读取文件的内容[重复]
Posted
技术标签:
【中文标题】NSData:读取文件的内容[重复]【英文标题】:NSData: read contents of file [duplicate] 【发布时间】:2016-05-20 07:24:45 【问题描述】:代码如下:
let jsonData = NSData(contentsOfFile: "/Users/7stud/xcode_projects/ios/my_json.json")
该代码在操场上,而我的 jsonData 为零。我没有输入路径:我将文件从 Finder 拖到终端窗口,该窗口在光标处输入文件的完整路径。然后我复制了那个绝对路径并将其粘贴到我的代码中——所以没有错字。
根据docs:
NSData
+ dataWithContentsOfFile:
通过读取文件中的每个字节创建并返回一个数据对象 由给定路径指定。
声明 OBJECTIVE-C + (instancetype)dataWithContentsOfFile:(NSString *)path
参数 路径 |从中读取数据的文件的绝对路径。
返回值 通过从路径指定的文件中读取每个字节的数据对象。如果数据对象不能是,则返回 nil 已创建。
没有 Swift 定义。
【问题讨论】:
您在使用游乐场吗?或者这是一个 OSX 应用程序? Swift Playground 是沙盒的,它们不能简单地访问它之外的文件。 好的,!@#$!@#$。这是一个游乐场问题。该代码在项目中运行良好。 @luk2302,是的。谢谢。 【参考方案1】:面临同样的问题,作为一种快速解决方法,我将文件直接放在 NSFileManager 返回的位置,然后访问该文件以读取内容。
以下是截图:
var fileManager = NSFileManager.defaultManager()
var path:String! = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first
var data = fileManager.contentsAtPath(path+"/a.txt")
try NSString(data: data!, encoding: NSUTF8StringEncoding)
我将文件 a.txt 放在 NSSearchPathForDirectoriesInDomains 方法返回的路径中,并且能够以字符串的形式检索它。
【讨论】:
以上是关于NSData:读取文件的内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Objective-C 读取 .mobileprovisioning 配置文件