iOS_文件操作 NSNumber NSValue NSDate
来源:互联网 发布:上海大学乐乎硬盘 编辑:程序博客网 时间:2024/06/06 15:01
//------------NSFileManager 文件或目录管理类-------------//1.创建对象 //defaultManager创建出来对象都是同一个对象(单例模式:想让一个类只创建一个对象) NSFileManager *fm = [NSFileManager defaultManager]; NSFileManager *fm_1 = [NSFileManager defaultManager]; NSLog(@"%p---%p",fm,fm_1); //2. 获取目录下的所有文件和目录 //不显示子目录 NSArray *array = [fm contentsOfDirectoryAtPath:@"/Users/apple/Desktop/dir" error:nil]; NSLog(@"%@",array); //包括子目录 NSArray *array_1 = [fm subpathsOfDirectoryAtPath:@"/Users/apple/Desktop/dir" error:nil]; NSLog(@"%@",array_1); //3.创建目录。创建文件 //参数2表示是否创建中间目录 BOOL b = [fm createDirectoryAtPath:@"/Users/apple/Desktop/dir/a.txt" withIntermediateDirectories:YES attributes:nil error:nil]; NSLog(@"%i",b);//创建了文件或已经存在,都会返回1 //创建文件 bool b_1 = [fm createFileAtPath:@"/Users/apple/Desktop/dir/a" contents:nil attributes:nil]; NSLog(@"%i",b_1); //4.复制文件, 移动文件, 删除文件 //参数1:源文件 参数2:目标文件 bool b_2 = [fm copyItemAtPath:@"/Users/apple/Desktop/dir/abc/123.txt" toPath:@"/Users/apple/Desktop/dir/ab.txt" error:nil]; NSLog(@"%i",b_2);//操作成功范围1.。当目标文件存在是返回0 //移动文件 bool b_3 = [fm moveItemAtPath:@"/Users/apple/Desktop/dir/abc/123.txt" toPath:@"/Users/apple/Desktop/dir/abcd.txt" error:nil]; NSLog(@"%i",b_3);//目标文件必须是.txt结尾 //删除文件 bool b_4 = [fm removeItemAtPath:@"/Users/apple/Desktop/dir/abc" error:nil]; NSLog(@"%i",b_4);//移除第二个文件是,第一个会恢复 //5.判断文件是否存在 bool b_5 = [fm fileExistsAtPath:@"/Users/apple/Desktop/dir/word"]; NSLog(@"%i",b_5); //----------------文件读写操作 NSFileHandle------------------//1. 打开文件 //(1)创建对象打开文件 NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:@"/Users/apple/Desktop/dir/abc.txt"]; if (fh == nil) { NSLog(@"文件打开失败"); return 1; } NSLog(@"文件打开成功"); //(2)读取文件数据 //读取指定长度的数据 readDataOfLength:12 //一直读取直到文件末尾 readDataToEndOfFile NSData *data = [fh readDataOfLength:100]; //NSLog(@"data = %@",data);//NSData表示二进制的数据 //读取出得二进制数据转化为字符串 NSString *info = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@",info); //写文件 NSFileHandle *fh_1 = [NSFileHandle fileHandleForWritingAtPath:@"/Users/apple/Desktop/dir/abc.txt"]; //(3)写入数据 NSString *str = @"好吃不过饺子,好玩不过赶紧"; //转化 NSData *data_1 = [str dataUsingEncoding:NSUTF8StringEncoding]; //清空文件内容 [fh_1 truncateFileAtOffset:0]; [fh_1 seekToEndOfFile]; //文件读写位置设置到文件的末尾 [fh_1 writeData:data_1]; //(4)移动文件读写位置 [fh_1 seekToFileOffset:12]; [fh_1 writeData:data_1]; //---------------- NSValue和NSNumber的使用------------------//(1)基本数据类型与对象类型相互转化 int a = 20; int c = 10; NSNumber *num_1 = [NSNumber numberWithInt:a]; NSNumber *num_2 = [NSNumber numberWithInt:c]; NSArray *array_2 = [[NSArray alloc]initWithObjects:num_1,num_2, nil]; NSLog(@"%@-----%@",array_2[1],array_2[0]); NSLog(@"%i----%i",[array_2[1] intValue],[array_2[0] intValue]);//(2)把一个结构体变量存储到NSArray中 typedef struct Person{ int age; float height; }person; person chenliang = {23,174}; //作用: 把C的类型的数据转化为NSValue类型 //参数1:数据的地址 参数2:数据的类型 @encode作用把类型转化为字符串 NSValue *valve = [[NSValue alloc]initWithBytes:&chenliang objCType:@encode(person)]; NSMutableArray *marray = [[NSMutableArray alloc]init]; [marray addObject:valve]; NSLog(@"%@",marray); //从NSValue中解析出存储的数据 person newPerson; [valve getValue:&newPerson]; NSLog(@"age = %d,height = %f",newPerson.age,newPerson.height); //---------------- NSDate的使用------------------ //(1)获取当前时间 NSDate *date = [NSDate date];//时区概念 +8区 NSLog(@"%@",date); //(2)时间格式化输出 NSDateFormatter *dataformatter = [[NSDateFormatter alloc]init]; [dataformatter setDateFormat:@"yyyy/MM/dd hh:mm:ss S"]; NSString *dataString = [dataformatter stringFromDate:date]; NSLog(@"%@",dataString); //(3)获取年,月,日 // 设置需要的格式 //(4)计算某个操作所消耗的时间--计算时间差 NSDate *beginDate = [NSDate date]; long sum=0; for (long i=0; i<1000000000; i++) { sum = sum+i; } NSDate *endDate = [NSDate date]; double interval = [endDate timeIntervalSinceDate:beginDate]; NSLog(@"interval = %f",interval);
0 0
- iOS_文件操作 NSNumber NSValue NSDate
- NSNumber NSValue NSNull NSDate
- NSNumber,NSDate,NSValue
- iOS--NSNumber,NSDate,NSValue
- NSNumber,NSValue,NSDate的使用
- NSMutableString NSNumber NSValue NSDate NSArray
- oc -13 NSNumber NSValue NSDate
- Foundation NSNumber NSValue NSNull NSDate
- NSNumber NSValue与NSDate 详解
- iOS中NSNumber,NSValue,NSDate和反射
- OC基础—NSNumber、NSValue、NSDate
- 黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
- OC--Foundation-NSDictionary,NSNumber,NSDate,NSValue
- OC--NSValue、 NSNumber、NSNull、NSDate的使用
- 黑马程序员--oc:NSString、NSValue、NSNumber、NSDate
- NSNumber 和 NSDate 和NSValue 和 NSSet
- 【Foundation】19-NSNumber、NSValue和NSDate
- 黑马程序员一NSNumber, NSDate,NSValue
- 在后台添加一段Html代码到前台的方法
- cocos2d-x action执行完毕的回调
- 关于ADT新旧版本替换和更新的问题
- 数学建模学习笔记(第四章:5个静态优化实例分析学习)
- Ajax_JQuery
- iOS_文件操作 NSNumber NSValue NSDate
- leedcode 3Sum
- 博科光纤交换机配置及管理 CLI篇
- leetcode_141_Linked List Cycle
- /proc/sys/vm参数(转)
- 解压报错缺少分卷
- Android 关闭日志
- 聊聊JVM的年轻代
- 通过动态设置ListView高度来解决ScollView与ListView互相嵌套的问题