在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-F83727E65AEF
2013-04-24 22:08:21.814 GetFilePath[20545:907] Document Path:~/Documents
2013-04-24 22:08:21.818 GetFilePath[20545:907] Library Path:~/Library
2013-04-24 22:08:21.821 GetFilePath[20545:907] Cache Path:~/Library/Caches
2013-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开发总汇》
百度知道群:开发者俱乐部