NSFileManager 沙盒存储

沙盒路径:每次的沙盒路径是变的,每次运行程序时位置是不同的,手机为每一个应用建立一个沙盒路径,默认四个文件夹

(1).Documents 这里边存的数据会被上传,所以不要把大的文件存放在这里(比如说音频,视频文件)

(2).Library -> Caches ,缓存文件,随便存

(3).Library ->Perferences  这里边一般存的是一些设置

(4).tmp ,存的是一些临时文件(比如说下载ZIP文件放在这里,解压后就会被干掉)

    //得到沙盒主路径
    NSString *filePathSandBox = NSHomeDirectory();
    NSLog(@"%@",filePathSandBox);
 得到Documents 的路径:

 NSString *filePathDocuments = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject;

    NSLog(@"%@",filePathDocuments);

得到Library目标路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryDirectory = [paths objectAtIndex:0];
    NSLog(@"app_home_lib: %@",libraryDirectory);
得到Caches路径:

//得到Caches 路径
    NSString *filePathCaches = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;
    NSLog(@"%@",filePathCaches);

得到tmp的路径;

    NSString *filePathTmp = NSTemporaryDirectory();
    NSLog(@"%@",filePathTmp);

向沙盒中存储数据

存简单对象(NSString,NSArray ,NSDictionary,UIImage)

 //NSString
    NSString *string = @"哈喽哈喽哈喽,字符串";
    NSString *pathCaches = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject;
    //拼接文件,caches下面加一个txt文件用来存放字符串
  NSString *newPathCaches = [pathCaches stringByAppendingPathComponent:@"Wang.txt"];
    //NSUTF8StringEncoding编码格式,把数据写入txt文件
    [string writeToFile:newPathCaches atomically:YES encoding:NSUTF8StringEncoding error:nil];

//取数据
    NSString *ss = [NSString stringWithContentsOfFile:newPathCaches encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",ss);

定义一个数组:

    NSArray *arrayPathCacher = @[@"村眠不觉晓",@"处处闻啼鸟",@"也来哦冯玉凤",@"花落知多少" ];
    //得到tmp的路径
    NSString *tmp = NSTemporaryDirectory();
    NSString *Newtmp = [tmp stringByAppendingString:@"wang.plist" ];
    [arrayPathCacher writeToFile:Newtmp atomically:YES];
 //取数组
    NSArray *arr = [NSArray arrayWithContentsOfFile:Newtmp];
    NSLog(@"%@",arr);

定义一个字典:

 NSDictionary *dicPathCacher = @{
                            @"name":@"www",
                            @"sex":@"f"
                                    };
    NSString *tmp1 = NSTemporaryDirectory();
    NSString *tmpfile = [tmp1 stringByAppendingString:@"hehe.plist"];
    [dicPathCacher writeToFile:tmpfile atomically:YES];

定义一个image:

 
    UIImage *image = [UIImage imageNamed:@"1.png"];
   NSData *data = UIImagePNGRepresentation(image);
    
    NSString *newTmp2 = [NSTemporaryDirectory()stringByAppendingString:@"data.png"];
    [data writeToFile:newTmp2 atomically:YES];
    

创建文件夹:

#pragma mark - NSFileManager
    //创建NSFileManager对象
    NSFileManager *manager = [NSFileManager defaultManager];
    
    NSString *stringWYY =[ NSTemporaryDirectory()stringByAppendingString:@"/YY111"];
    ///在上面路径下创建文件夹
    [manager createDirectoryAtPath:stringWYY withIntermediateDirectories:YES attributes:nil error:nil];
    //移动文件夹
  NSString *stringWYY2 = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject stringByAppendingString:@"/YY111"];
    
    [manager moveItemAtPath:stringWYY toPath:stringWYY2 error:nil];
    
    //删除文件夹
    
    [manager removeItemAtPath:stringWYY2 error:nil];
    
    //判断文件夹是否存在吗
  BOOL ifExis = [manager fileExistsAtPath:stringWYY2];
    
    NSLog(@"%@",ifExis);
    
    //复制
  NSString *str =  [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES).lastObject stringByAppendingString:@"/YY111"];
    
    [manager copyItemAtPath:stringWYY2 toPath:str error:nil];




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值