您的位置:首页 > 其它

OC文件操作

2016-03-25 00:00 323 查看
摘要: 文件的遍历,增删改查等操作
#import <Foundation/Foundation.h>#define PATH @"/Users/IOS1601/Desktop/fanjuan/OC/OC第二周/第四天:文件操作"int main(int argc, const char * argv[]) {@autoreleasepool  {//NSFileManager是一个专门用来管理文件和文件夹的类,通过一系列的对象方法://1.创建一个NSFileManager对象(单例对象)//系统提供的单例方法一般是以default开头的NSFileManager * fileManager = [NSFileManager defaultManager];//方法一:浅度遍历:返回当前目录下所有文件或者文件夹的名字//(参数一:文件夹的绝对路径)//(参数二:)错误信息;如果成功遍历,NSError返回空,否则返回错误信息NSError *error;//NSError是OC中用来存储错误信息的类,一般不要程序给他赋值NSArray *array1 =[fileManager contentsOfDirectoryAtPath:PATHerror:&error];//判断遍历是否成功if (error == nil) {NSLog(@"遍历成功");NSLog(@"%@",array1);}else {NSLog(@"遍历失败");NSLog(@"%@",error);}//方法二:深度遍历:遍历出当前目录下所有文件和文件夹的名字//包括子目录下的文件和文件夹的相对路径名//参数一:文件夹的路径  参数二:错误信息;error = nil;NSArray * array2 = [fileManager subpathsOfDirectoryAtPath:PATH error:&error];NSLog(@"深度遍历:%@",array2);//方法三:创建文件夹:在指定的路径下创建一个文件夹;//参数一:路径(已经创建好的文件夹路径,即加上即将创建的文件夹的名字;//参数二:是否创建中间目录 参数三:attributes文件夹属性,传入nil表示默认属性 参数四:错误信息;//返回值:BOOL是否创建成功;成功返回YES,失败返回NO;//拼接出新建文件夹的路径:(表示创建一个c的文件夹)NSString * newPath = [NSString stringWithFormat:@"%@/d/c",PATH];BOOL ret = [fileManager createDirectoryAtPath:newPathwithIntermediateDirectories:YESattributes:nil error:nil];if (ret) {NSLog(@"创建文件夹成功!");}else{NSLog(@"创建文件夹失败!");}//方法四:创建文件://参数一:路径,文件已经创建好了的时候的路径//参数二:文件的内容(二进制形式,将数据存到文件中或者从文件中取出数据,这个数据类型都是二进制);//参数三:文件属性nil//返回值:是否创建成功;//专门用来拼接路径的方法NSString * newPath2 = [PATH stringByAppendingPathComponent:@"file.txt"];//创建放进文件的内容NSString * content = @"hello world!";//将字符串转换成NSDataNSData * data  = [content dataUsingEncoding:NSUTF8StringEncoding];BOOL ret2 = [fileManager createFileAtPath:newPath2 contents:data attributes:nil];if (ret2) {NSLog(@"文件创建成功");}else{NSLog(@"文件创建失败");}//方法五:删除文件或者文件夹//参数1:要删除的文件/文件夹的路径//参数2:错误信息//返回值:是否删除成功//        BOOL ret3 = [fileManager removeItemAtPath://                        [PATH stringByAppendingPathComponent:@"file.txt"]//                                            error:nil];//        if (ret3) {//            NSLog(@"删除成功");//        }else{//            NSLog(@"删除失败");//        }//方法六:判断文件/文件夹是否存在//参数1:文件/文件夹的路径//返回值:是否存在BOOL ret4 = [fileManager fileExistsAtPath:[PATH stringByAppendingPathComponent:@"file.txt"]];if (ret4) {NSLog(@"存在");}else{NSLog(@"不存在");}//方法七:判断文件/文件夹是否存在并且判断是文件还是文件夹//参数1:路径    参数2:用来存储是否是文件夹的结果,如果是文件夹,//这个参数指向的变量值会变成YES,否则是NO;//返回值:文件或者文件夹是否存在BOOL ret6 = NO;BOOL ret5 =   [fileManager fileExistsAtPath:[PATHstringByAppendingPathComponent:@"d"] isDirectory:&ret6];//判断是否存在if (ret5) {NSLog(@"存在");//判断是否是文件夹if(ret6){NSLog(@"是文件夹");}else{NSLog(@"不是文件夹");}}else{NSLog(@"不存在");}//方法八:获取文件/文件夹的属性//返回是一个字典NSDictionary *dict = [fileManager attributesOfItemAtPath:[PATHstringByAppendingPathComponent:@"file.txt"]error:nil];NSLog(@"%@",dict);//方法九:拷贝文件/文件夹(注意目标路径是拷贝成功后的路径)BOOL ret7 =   [fileManager copyItemAtPath:[PATHstringByAppendingPathComponent:@"file.txt"]toPath:[PATH stringByAppendingPathComponent:@"a/file.txt"] error:nil];if (ret7) {NSLog(@"拷贝成功");}else{NSLog(@"拷贝失败");}//方法十:文件/文件夹的移动//参数一:源文件的路径//参数二:目标路径(移动成功后的那个文件的路径)BOOL ret8 =   [fileManager moveItemAtPath:[PATH stringByAppendingPathComponent:@"a"]toPath:[PATH stringByAppendingPathComponent:@"d/a"]error:nil];if (ret8) {NSLog(@"移动成功");}else{NSLog(@"移动失败");}//作业}return 0;}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC文件操作