黑马程序员技术交流社区

标题: 新人笔记3 [打印本页]

作者: snowimba    时间: 2015-10-10 23:54
标题: 新人笔记3
1、文件操作
        1)NSFileManager概念
                文件管理类
                常见的文件操作,可读,可写,创建,删除,剪贴
                使用的是单例模式
                快速创建对象
               
        2)基本使用
                //        1)文件是否存在目录里面的权限
                        NSFileManager *fm = [NSFileManager defaultManager];
                        if ([fm fileExistsAtPath:filePath]) {
                            //        判断是否是一个目录
                            BOOL isDir;
                            if ([fm fileExistsAtPath:filePath1 isDirectory:&isDir]) {
                                NSLog(@"YES");
               
                            }else NSLog(@"NO");
                        }
               
                //        2)文件是否可读目录里面的权限
                        if ([fm isReadableFileAtPath:filePath1]) {
                            NSLog(@"rYES");
                        }else NSLog(@"rNO");
                //        3)文件是否可写目录里面的权限
                        if ([fm isWritableFileAtPath:filePath1]) {
                            NSLog(@"wYES");
                        }else NSLog(@"wNO");
                //        4)文件是否可以删除目录里面的权限
                        if ([fm isDeletableFileAtPath:filePath1]) {
                            NSLog(@"dYES");
                        }else NSLog(@"dNO");
                    }
               
2、文件访问
                NSFileManager *fm = [NSFileManager defaultManager];
                NSString *dirPath = @"/Users/snowimba/Desktop/project/06_text";
                NSString *filePath = @"/Users/snowimba/Desktop/dict.plist";
        //        1)获取文件属性,信息
                NSDictionary *dict = [fm attributesOfItemAtPath:filePath error:nil];
                NSLog(@"%@",dict);
                NSLog(@"NSFileOwnerAccountName=%@",dict[@"NSFileOwnerAccountName"]);
        //        2)获取指定目录下文件及子目录,
        //        这个方法是使用递归的方法获取的信息
                NSArray *arr =[fm subpathsAtPath:dirPath];
        //        这个不是用递归方式获取的信息(建议用这个)
                NSArray *arr1 =  [fm subpathsOfDirectoryAtPath:dirPath error:nil];
        //        3)只获取当前目录下文件件
        //
                NSArray *arr2 = [fm contentsOfDirectoryAtPath:dirPath error:nil];
                NSLog(@"%@",arr2);
       
               
3、实用方法,复制,删除····
        //        如何创建目录
                NSString *createDirPath = @"/Users/snowimba/Desktop/xxx/love.data";
        //        createDirectoryAtPath:@"路径" withIntermediateDirectories:NO\YES(是否自动补全路径缺少目录) attributes:字典属性 error:错误对象
        //        if([fm createDirectoryAtPath:createDirPath withIntermediateDirectories:YES attributes:nil error:nil]){
        //            NSLog(@"YES");
        //        }
        //        如何创建文件
        //        NSString *str = @"爱世界";
        //        NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
        //        if ([fm createFileAtPath:createDirPath contents:data attributes:nil]){
        //            
        //            NSLog(@"YES");
        //        }
        //        如何copy文件
        //        NSString *sPath = @"/Users/snowimba/Desktop/xxx/aaa/love.data";
        //        if ([fm copyItemAtPath:createDirPath toPath:sPath error:nil]){
        //            NSLog(@"YES");
        //        }
        //        如何移动文件
                NSString *ssPath = @"/Users/snowimba/Desktop/love.data";
                [fm moveItemAtPath:createDirPath toPath:ssPath error:nil];
        //        如何删除文件
                NSString *ssPath = @"/Users/snowimba/Desktop/love.data";
                [fm removeItemAtPath:ssPath error:nil];
       





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2