美文网首页
iOS NSFileManager 存储文件,查询文件, 删

iOS NSFileManager 存储文件,查询文件, 删

作者: xq9527 | 来源:发表于2021-02-14 23:43 被阅读0次

    前言

    各位同学大家好 ,有段时间没有给的大家更新文章了,具体多久 我也记不清了哈, 最近在学下iOS的一些基础 知识,NSFileManager 存储文件,查询文件, 删除文件 等 所以就记录分享给各位同学 那么废话不多说
    我们正式开始

    准备工作

    安装xcode 这个大家可以自己去appstore 搜索下载安装即可

    具体实现

    • 实例化 NSFileManager
        NSArray * pathArray=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachePath=[pathArray firstObject];
        NSFileManager * fileManager= [NSFileManager defaultManager];
    
    • 创建文件夹
     // 创建文件夹
        NSString * dataPath=[cachePath stringByAppendingPathComponent:@"GTData"];
        NSError * creatError;
        [fileManager createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&creatError];
    
    image.png
    • 创建文件 然后设置utf8编码 然后存储文件在模拟器沙箱环境
      //创建文件
        NSString * listdataPath= [dataPath stringByAppendingPathComponent:@"list"];
        NSData * listData=[@"abcd" dataUsingEncoding:NSUTF8StringEncoding]; //设置utf 8编码格式
        [fileManager createFileAtPath:listdataPath contents:listData attributes:nil];
    
    • 查询文件
    BOOL fileList= [fileManager fileExistsAtPath:listdataPath];
    
    • 删除文件
    //删除文件
        if(fileList){
            [fileManager removeItemAtPath:listdataPath error:nil];
            NSLog(@"删除成功");
        }
    
    • 增加数据
        // 增加数据
        NSFileHandle * fileHander =[NSFileHandle fileHandleForUpdatingAtPath:listdataPath];
        [fileHander seekToEndOfFile];
        [fileHander writeData:[@"egf" dataUsingEncoding:NSUTF8StringEncoding]];
        //刷新
        [fileHander synchronizeFile];
        //关闭
        [fileHander closeFile];
    

    完整代码实现

    -(void)_getSandBoxPath{
        // 文件夹存储数据 
        NSLog(@"调用存储数据方法");
        NSArray * pathArray=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
        NSString *cachePath=[pathArray firstObject];
        NSFileManager * fileManager= [NSFileManager defaultManager];
        
        
        // 创建文件夹
        
        NSString * dataPath=[cachePath stringByAppendingPathComponent:@"GTData"];
        NSError * creatError;
        [fileManager createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&creatError];
      
        //创建文件
        NSString * listdataPath= [dataPath stringByAppendingPathComponent:@"list"];
        NSData * listData=[@"abcd" dataUsingEncoding:NSUTF8StringEncoding]; //设置utf 8编码格式
        [fileManager createFileAtPath:listdataPath contents:listData attributes:nil];
        NSLog(@"存储数据成功 ");
        //查询文件
        BOOL fileList= [fileManager fileExistsAtPath:listdataPath];
        NSLog(@"查寻文件成功");
        //删除文件
    //    if(fileList){
    //        [fileManager removeItemAtPath:listdataPath error:nil];
    //        NSLog(@"删除成功");
    //    }
      
        // 增加数据
       
        NSFileHandle * fileHander =[NSFileHandle fileHandleForUpdatingAtPath:listdataPath];
        [fileHander seekToEndOfFile];
        [fileHander writeData:[@"egf" dataUsingEncoding:NSUTF8StringEncoding]];
        //刷新
        [fileHander synchronizeFile];
        //关闭
        [fileHander closeFile];
    
    }
    

    最后总结

    iOS 里面提供了 NSFileManager让我们存储数据到沙箱环境中 也是提供了对应的api 供我们使用, 增删改查。
    代码实现相对来说也比较简单方便 , 希望能帮助各位同学学习 ,如果文章有错误和纰漏的地方 欢迎大神们指正 最后希望我的文章能帮助到各位解决问题 ,以后我还会贡献更多有用的代码分享给大家。各位同学如果觉得文章还不错 ,麻烦给关注和star,小弟在这里谢过啦

    相关文章

      网友评论

          本文标题:iOS NSFileManager 存储文件,查询文件, 删

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