美文网首页iOS开发(OC)
iOS沙盒大文件存储案例

iOS沙盒大文件存储案例

作者: 爱恨的潮汐 | 来源:发表于2018-05-10 17:02 被阅读3次

【重】沙盒大文件存储案例(文件夹路劲可以设置成全局的)

一、创建文件夹和文件

  //(1)创建文件夹,并创建文件
        //用来存放缓存文件,iTunes不会备份此目录,此目录下的文件不会在程序退出后删除,一般存放体积比较大但又不太重要的文件。
        NSString * documentsPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
        NSFileManager *fileManager  = [NSFileManager defaultManager];//初始化一个文件
        
        //创建文件夹
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"wenjianjiaName"];
        BOOL res1 =[fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];
        if (res1) {
            NSLog(@"文件夹创建成功");
        }else{
            NSLog(@"文件夹创建失败");
        }

        //在文件夹下创建文件
        NSString *testPath  = [testDirectory stringByAppendingPathComponent:@"wenjianjiaName.chaoxi"];
        BOOL res2 =[fileManager createFileAtPath:testPath contents:nil attributes:nil];
        if (res2) {
            NSLog(@"文件创建成功: %@" ,testPath);
        }else{
            NSLog(@"文件创建失败");
        }

二、写入文件

  //(2)写入文件(以保存照片为例子)
        NSData* imageData = UIImagePNGRepresentation([UIImage imageNamed:@"默认头像"]);
        BOOL res3 = [imageData writeToFile:testPath atomically:NO];
        if (res3) {
            NSLog(@"文件写入成功");
        }else{
            NSLog(@"文件写入失败");
        }

三、读取文件

   //(3)读取文件(读取图片时用这个路径)
        UIImage * image = [[UIImage alloc]initWithContentsOfFile:testPath];
        //获取文件夹下的所有文件名
        NSArray *arrayFiles = [[NSFileManager defaultManager] subpathsAtPath:testDirectory];

四、删除文件夹或者文件

  //(4)删除文件夹或者文件
        NSString * documentsPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
        //文件夹
        NSString *testDirectory = [documentsPath stringByAppendingPathComponent:@"wenjianjiaName"];
        //文件路径
        NSString *testPath  = [testDirectory stringByAppendingPathComponent:@"wenjianjiaName.chaoxi"];
        
        //删除文件夹,删除文件换成testPath路径就可以
        BOOL res =[[NSFileManager defaultManager] removeItemAtPath:testDirectory error:nil];
        if (res) {
            NSLog(@"文件夹删除成功");
        }else{
            NSLog(@"文件夹删除失败");
        }
        
        //附加
        NSLog(@"文件是否存在: %@",[[NSFileManager defaultManager] isExecutableFileAtPath:testPath]?@"YES":@"NO");

相关文章

  • iOS沙盒大文件存储案例

    【重】沙盒大文件存储案例(文件夹路劲可以设置成全局的) 一、创建文件夹和文件 二、写入文件 三、读取文件 四、删除...

  • 使用沙盒的正确姿势

    在学习iOS存储方法之前,先了解一下iOS存储机制——沙盒应用沙盒机制:每个iOS应用都有自己的应用沙盒(文件系统...

  • 沙盒机制

    IOS数据存储之文件沙盒存储

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • 05-iOS数据存储

    一、iOS沙盒机制 iOS的每个应用都有属于自己的存储空间,即沙盒应用只能访问自己的沙盒,不可访问其他区域。 沙盒...

  • iOS 沙盒

    沙盒机制:在iOS中每个APP都拥有自己的沙盒,APP只能访问对应沙盒中存储的数据, iOS是不允许跨越沙盒去访问...

  • iOS数据库存储之SQLite3

    资源连接: iOS数据库存储之SQL语句; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; SQL...

  • 学习笔记-应用的沙盒

    在iOS设备中,APP的数据存储采用了SandBox(沙盒)机制。 应用的沙盒 目录结构 每个iOS应用都有自己应...

  • iOS数据库存储之SQL语句

    资源连接: iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; S...

  • 60-iOS本地(沙盒)存储

    一、存储的地方介绍 iOS 本地存储主要存储在沙盒中,那么何为沙盒?沙盒其实就是一个文件夹。这些文件夹主要用来存放...

网友评论

    本文标题:iOS沙盒大文件存储案例

    本文链接:https://www.haomeiwen.com/subject/wvhtdftx.html