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 配置文件

open() 无法读取我的文件的内容 [重复]

关于项目优化的一些小技巧

iOS将大文件映射到内存(读取大文件)

如何使用 spark(python)读取 zip 文件中的 CSV 文件的内容 [重复]

关于在反应功能组件中读取文件内容和useState钩子[重复]