• ios数据存储


    1.文件存储

    ios沙盒机制:应用程序只能访问该应用程序在文件系统中创建的目录,

    Documents文件夹:文档文件夹,存放持久化的数据,

    library文件夹:caches:存放缓存文件,重启或退出程序时,数据不会丢失

                       Perferences:偏好设置,存放用户设置信息

    tmp文件夹:存放临时的缓存数据,在重启或退出程序时清空;

    基本文件操作:

    - (void)viewDidLoad

    {

        [super viewDidLoad];  

    //   文件管理者

    //    NSFileManager

    //创建文件管理对象

        NSFileManager *fm = [NSFileManager defaultManager];

    //获取Documents文件夹路径    

        NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        NSString *documentPath = [array objectAtIndex:0];  

    //   创建文件夹

    //    1.创建文件夹的路径

    NSString *directoryPath = [documentPath  stringByAppendingPathComponent:@"testFile"];//设置文件夹路径,stringByAppendingPathComponent方法会自动用"/"分隔形成完整路径,

        [fm createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:nil];

    //    2.创建文件

    //    拼接文件的路径

        NSString *filePath = [directoryPath stringByAppendingPathComponent:@"file"];

    //    NSData  用来包装数据的

    //    存的都是二进制数据

    //    可以存各种数据 字符串 音频  图像 数组 字典

    //   把字符串转换成data

        NSString *string = @"你好";

    //   UTF8 编码

        NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];

    //    创建文件

        [fm createFileAtPath:filePath contents:data attributes:nil]; 

    //    判断文件是否存在

       BOOL success = [fm fileExistsAtPath:filePath];

        NSLog(@"是否存在文件%d",success); 

    //    来获取某个路径下的所有文件的路径

        NSArray *subpathArray = [fm subpathsAtPath:directoryPath];

        for (NSString *path in subpathArray)

        {

            NSLog(@"---->%@",path);

        }

        NSString *path2 = [directoryPath stringByAppendingPathComponent:@"file副本"]; 

    //    判断内容是否相等

    //    contentsEqualAtPath

        BOOL success1 = [fm contentsEqualAtPath:filePath andPath:path2];

        NSLog(@"success1 ==  %d",success1);

    //    移动某路径下的元素到另外一个路径  

        NSString *destinationPath = [NSHomeDirectory() stringByAppendingPathComponent:@"a.txt"];

    //    把文件移动到某文件路径(而不是指的目录)

        [fm moveItemAtPath:filePath toPath:destinationPath error:nil];

    //    复制到某个文件路径下

        [fm copyItemAtPath:destinationPath toPath:filePath error:nil];

    //    移除某路径下的文件

        [fm removeItemAtPath:filePath error:nil];

    }

     

  • 相关阅读:
    新购服务器流程
    nginx代理证书使用方法
    一键部署lnmp脚本
    mysql主从库配置读写分离以及备份
    Linux入门教程(更新完毕)
    Git 工作流程
    Git远程操作
    常用Git命令
    js数组去重
    Sublime Text设置快捷键让html文件在浏览器打开
  • 原文地址:https://www.cnblogs.com/lpjdbk/p/4681494.html
Copyright © 2020-2023  润新知