IOS获取系统文件的各个目录的方法

来源:互联网 发布:ios 高仿今日头条源码 编辑:程序博客网 时间:2024/05/01 18:46
在ios开发中,经常会遇到一些数据缓存的操作,做数据缓存一般都是用CoreData,或者用sqlite,这两者基本都会选择CoreData做为数据缓存的对象,对于这两个内容,会分成2节内容跟大家分享。
现在我们要说的是,当我们在做数据缓存的时候,往往会有一些网络加载过来的图片、音乐等等一些文件需要做本地化存储,这时,就要涉及到要怎么样去获取ios沙盒中的一些文件夹路径的问题。
下来咱们就来说一说获取ios系统目录的一些方法:
这些就是ios中的一些文件夹名称


#pragma 获取系统文件夹目录-(NSString *) getFilePath{    //获取ios系统根目录文件夹路径    NSString *homePath=NSHomeDirectory();    NSLog(@"Home Path:%@",homePath);        //获取ios系统目录下Document文件夹路径    NSString *documentPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];//最后一个参数需要设置成YES,若设置为NO的话,可以获取到文件夹路径,但是没有操作权限    NSLog(@"Document Path:%@",documentPath);        //获取ios系统目录下library文件夹路径    NSString *librarytPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];    NSLog(@"Library Path:%@",librarytPath);        //获取ios系统目录下library文件夹路径    NSString *cachetPath=[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];    NSLog(@"Cache Path:%@",cachetPath);        //获取temp文件夹路径    NSString *tempPath=NSTemporaryDirectory();        NSLog(@"temp Path:%@",tempPath);    return nil;}

输出结果:
2013-04-24 22:08:21.807 GetFilePath[20545:907] Home Path:/var/mobile/Applications/B8625E65-2C6F-47F4-BD82-F83727E65AEF2013-04-24 22:08:21.814 GetFilePath[20545:907] Document Path:~/Documents2013-04-24 22:08:21.818 GetFilePath[20545:907] Library Path:~/Library2013-04-24 22:08:21.821 GetFilePath[20545:907] Cache Path:~/Library/Caches2013-04-24 22:08:21.825 GetFilePath[20545:907] temp Path:/private/var/mobile/Applications/B8625E65-2C6F-47F4-BD82-F83727E65AEF/tmp/

下面在加一些关于在ios沙盒中新建一些文件夹目录的操作

//新建文件夹-(void) createDirectory{    NSString *path=[self getFilePath];    NSString *filePath=[path stringByAppendingPathComponent:@"imgaes"];    NSFileManager *fileManager=[NSFileManager defaultManager];    if(![fileManager fileExistsAtPath:filePath isDirectory:YES])    {        NSError *error=nil;        [fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];        if(error)        {            NSLog(@"%@,%@",error,[error userInfo]);        }    }    }


Demo下载地址:点击下载

微信公众平台已开通,加个关注呗。我们一起学习,一起进步
微信号点击添加关注:《IOS开发总汇》
百度知道群:开发者俱乐部