频道栏目
读书频道 > 软件开发 > c语言 > Objective-C程序设计入门与实践
12.3.5 从Documents目录对数据进行读取
2015-11-23 14:05:54     我来说两句
收藏   我要投稿
《Objective-C程序设计入门与实践》详细介绍了Objective-C语言和苹果iOS、Mac平台面向对象程序编程的知识;结合独特的学习方法,在每章都合理嵌入大量的范例,让本书更适合于读者学习和课堂教学。如果你对iPhone  立即去当当网订购

为了从应用程序的Documents目录读取文件,首先需要根据文件名构建相应的路径,然后以期望的方法将文件内容读入内存。对于相对较小的文件—也就是尺寸小于几个内存页面的文件—可以用世界杯外围投注网站清单12-5中的世界杯外围投注网站来取得文件内容。该世界杯外围投注网站首先为Documents目录下的文件构建一个全路径,并为这个路径创建一个数据对象,然后返回。

世界杯外围投注网站清单12-5 从应用程序的Documents目录读取文件

- (NSData *)applicationDataFromFile:(NSString *)fileName {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSData *myData = [[[NSData alloc] initWithContentsOfFile:appFile] autorelease];
    return myData;
}

对于载入时需要多个内存页面的文件,应该避免一次性地装载整个文件。如果只是计划使用部分文件,这一点就尤其重要。对于大文件,应该考虑用mmap函数或NSData的initWithContentsOfMappedFile:方法来将文件映射到内存。

到底是采用映射文件还是直接装载取决于考虑。如果只需要少量(3-4)内存页面,则将整个文件载入内存相对安全一些。但是,如果文件需要数十或上百个页面,则将文件映射到内存可能更为有效一些。当然,无论采用什么方法,都应该测量应用程序的性能,确定装载文件和为其分配必要内存需要多长时间。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:12.3.4 将数据写到Documents目录
下一篇:12.4 文件保存处理机制
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站

世界杯外围投注官网