zoukankan      html  css  js  c++  java
  • 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];

    }

     

  • 相关阅读:
    JavaScript(八)---- 文档对象模型DOM
    JavaScript(七)---- 浏览器操作对象BOM
    JavaScript(六)---- 原型prototype
    JavaScript(五)---- 基于对象的操作
    JavaScript(四)---- 函数
    团队编程项目作业2-Python简单小游戏设计文档
    团对-象棋游戏-开发环境搭建过程
    团队编程项目作业2-团队编程项目设计文档
    课后作业-阅读任务-阅读提问-3
    课后作业-阅读任务-阅读提问-1
  • 原文地址:https://www.cnblogs.com/lpjdbk/p/4681494.html
Copyright © 2011-2022 走看看