iOS NSFileManager的基本使用

热门标签

,

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

  • 什么是NSFileManager?
    NSFileManager是用来管理文件系统的
    它可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等)
  • NSFileManager使用了单例模式singleton
    使用defaultManager方法可以获得那个单例对象
    [NSFileManager defaultManager]
    //NSFileManager 用于判断
    
    NSString *filePath = @"/Users/zhaoxiaohu/Desktop/arr.plist";
    
     NSString *filePath2 = @"/";
1) 判断文件是否存在
    //创建文件管理对象
    //调用defaultManager 创建一个文件管理的单例对象
    //单例对象:在程序运行期间,只有一个对象存在
    NSFileManager *fm = [NSFileManager defaultManager];
    // YES 存在   NO 不存在
    BOOL isYES = [fm fileExistsAtPath:filePath];
    NSLog(@"-->%d",isYES);
2) 判断是否是一个目录
    if(isYES){
        BOOL isDir;
    
        // 2) 判断是否是一个目录
        [fm fileExistsAtPath:filePath isDirectory:&isDir];
        
        if (isDir) {
            NSLog(@"这是一个目录");
        }else{
        
            NSLog(@"这不是一个目录");
        }
    
    }
3) 判断文件是否可读
    isYES = [fm isReadableFileAtPath:filePath];
4) 是否可写
    isYES = [fm isWritableFileAtPath:filePath2];
5) 是否可删除
    isYES = [fm isDeletableFileAtPath:filePath2];
    
             NSLog(@"-->%d",isYES);
6)获取文件的信息(属性)
    //创建文件对象
    NSFileManager *fm = [NSFileManager defaultManager];
    NSString *filePath = @"/Users/zhaoxiaohu/Desktop/arr.plist";
    
    NSString *dirPath = @"/Users/zhaoxiaohu/Desktop/a";
   
    //1)如何获取文件的信息(属性)
    NSDictionary *dict = [fm attributesOfItemAtPath:filePath error:nil];
    NSLog(@"%@",dict);
    NSLog(@"%@,%@",[dict objectForKey:@"NSFileOwnerAccountName"],dict[@"NSFileOwnerAccountName"]);
7)获取指定目录下文件及子目录
    //使用递归的方式 获取当前目录及子目录下的所有的文件及文件夹
    NSArray *subPaths = [fm subpathsAtPath:dirPath];
    
    //(推荐使用)subpathsOfDirectoryAtPath 不是使用递归的方式获取的
    subPaths = [fm subpathsOfDirectoryAtPath:dirPath error:nil];
    NSLog(@"subPaths = %@",subPaths);
8)获取指定目录下的文件及目录信息(不在获取后代路径)
    subPaths = [fm contentsOfDirectoryAtPath:dirPath error:nil];
    NSLog(@"subPaths = %@",subPaths);
9)创建目录
   //创建文件管理对象
    NSFileManager *fm = [NSFileManager defaultManager];
    
    //如何创建目录 (路径  :/Users/zhaoxiaohu/Desktop/aaa)
    NSString *createDirPath = @"/Users/zhaoxiaohu/Desktop/aaa/ccc/bbb/love.txt";
    fm createDirectoryAtPath:@"路径" withIntermediateDirectories:YES/NO 创建路径的时候,YES自动创建路径中缺少的目录,NO的不会创建缺少的目录 attributes:属性的字典 error:错误对象
    
           BOOL isYES = [fm createDirectoryAtPath:createDirPath withIntermediateDirectories:YES attributes:nil error:nil];
   
    if (isYES) {
        NSLog(@"成功");
   }
10)创建文件
    //如何创建文件
    NSString *str = @"每当我错过一个女孩,我就向山上放一块砖,于是就有了长城";
    //writeToFile
    //fm createFileAtPath:@"路径" contents: NSData类型的数据 attributes:文件的属性的字典
    //创建NSData?   是一个处理二进制数据的类
    //NSString -----> NSData  (把NSString转化成NSData)
    
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    BOOL isYes;
    // createFileAtPath 创建文件
    isYes = [fm createFileAtPath:createDirPath contents:data attributes:nil];
    NSLog(@"isYes = %d",isYes);
11)copy文件
    //如何copy文件
    NSString *targetPath = @"/Users/zhaoxiaohu/Desktop/aaa/ccc/love.txt";
    [fm copyItemAtPath:createDirPath toPath:targetPath error:nil];
    
     NSString *targetPath = @"/Users/zhaoxiaohu/Desktop/aaa/love.txt";
12)移动文件
    //如何移动文件
    [fm moveItemAtPath:createDirPath toPath:targetPath error:nil];
13)删除文件
    //如何删除文件
    [fm removeItemAtPath:targetPath error:nil];

 

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS NSFileManager的基本使用》 发布于2019-11-09

分享到:
赞(0) 打赏

评论 抢沙发

7 + 2 =


iOS NSFileManager的基本使用

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?