前言:每个iphone应用程序在硬盘上都有自己对应的一个文件目录,而且不同的iphone程序之间是不能互访文件的,这是苹果所规定的,一般一个应用程序的对应目录如下:
这里着重讲一下在程序代码中访问文件的几种方式和区别
常见的有:
1.NSBundle,
一个应用程序的目录就是一个Bundle
如此可以根据所要文件所在的目录路径来获取,[NSBundle
mainBundle]指的就是ceshi.app这个目录
这里面放的主要是程序代码中的一些图片、音频、视频、plist、编译包等,是供程序本身使用的一些资源,另外,在编码组织文件结构时,无论在项目文件夹下有多少层目录结构,最终生成的这个ceshi.app中的资源都是直接在这个目录下,所有在代码中请求的时候只需这样:NSString
*plistFilePath = [[NSBundle mainBundle] pathForResource:@"cb"
ofType:@"mp3"];
而不用管这个cb.mp3这个文件具体在项目的哪个文件夹下
这个目录建议的是放供程序本身使用的资源的,不要将应用在使用过程中产生的文件(比如缓存文件,下载的文件、音频、视频等)放入这个目录
2.NSHomeDirectory()
通过这个东西获取的路径同样是上述的整个应用程序的目录,使用:NSString *plistFilePath =
[NSHomeDirectory()
stringByAppendingPathComponent:@"ceshi.app/cb.mp3"];
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022