文件管理
2015-09-25 16:49
260 查看
1,获取文件属性
2,遍历文件目录
3,目录管理
4,用NSData处理数据
NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/frankhou/Desktop/5195C73719227F8E93D17E77EE24746B.jpg"; NSError * error; NSDictionary * dic = [fileManager attributesOfItemAtPath:path error:&error]; NSLog(@"dic %@",dic); if (error == nil) { NSDate * date = [dic objectForKey:NSFileCreationDate]; NSString * size = [dic objectForKey:NSFileSize]; NSLog(@" date = %@, size = %@",date,size); }
2,遍历文件目录
//1. NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/Qinggong/Desktop/装机"; NSError * error; //只能取得目录下,第一级目录 NSArray * array = [fileManager contentsOfDirectoryAtPath:path error:&error]; NSLog(@"array %@",array); //2 NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/other"; NSError * error; //能够逐级的获得所有子集的目录 NSArray * array = [fileManager subpathsOfDirectoryAtPath:path error:&error]; NSLog(@"array %@",array);
3,目录管理
/* //1创建目录 NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/Qinggong/Desktop/myfolder/aaa"; NSError * error; //withIntermediateDirectories YES 逐级创建文件夹,NO表示只能够创建一级目录 BOOL isCreateSuccess = [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error]; if (isCreateSuccess) { NSLog(@"创建成功"); } else { NSLog(@"error %@",error); } */ //2 移动目录 移动就是剪切操作 /* NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/myfolder"; NSString * pathTo = @"/Users/Qinggong/Desktop/newmyfolder"; NSError * error ; BOOL isMoveSuccess = [fileManager moveItemAtPath:path toPath:pathTo error:&error]; if (isMoveSuccess) { NSLog(@"移动成功"); } else { NSLog(@"error %@",error); } */ //3.删除 /* NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/Qinggong/Desktop/newmyfolder"; NSError * error; BOOL isRemoveSuccess = [fileManager removeItemAtPath:path error:&error]; if (isRemoveSuccess) { NSLog(@"删除成功"); } else { NSLog(@"erro %@",error); } */ //4.拷贝文件 NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/Qinggong/Desktop/myfolder"; NSString * pathTo = @"/Users/Qinggong/Desktop/newmyfolder"; NSError * error; BOOL isCopySuccess = [fileManager copyItemAtPath:path toPath:pathTo error:&error]; if(isCopySuccess) { NSLog(@"拷贝成功"); } else { NSLog(@"error %@",error); }
4,用NSData处理数据
//1.获得文件 //mp3.mp4 rmvb mkv pdf doc txt /* NSString * path = @"/Users/Qinggong/Desktop/屏幕快照.png"; NSData * data = [NSData dataWithContentsOfFile:path]; NSLog(@"%ld",data.length); NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * pathTo = @"/Users/Qinggong/Desktop/屏幕快照副本.png"; BOOL isCreateSuccess = [fileManager createFileAtPath:pathTo contents:data attributes:nil]; if (isCreateSuccess) { NSLog(@"创建成功"); } else { NSLog(@"创建失败"); } */ //音频文件,文本文件,视频文件就必须使用NSData数据类 /* NSString * str = @"www.baidu.cn"; NSError * error; [str writeToFile:@"/Users/Qinggong/Desktop/text.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error]; */ /* NSString * path = @"/Users/Qinggong/Desktop/text.txt"; //把目标文件加载到内存中. //NSData 是不可变长度的Data类型,只能够通过一次加载完成所有的数据 NSData * data = [NSData dataWithContentsOfFile:path]; NSLog(@"data length %ld",data.length); NSString * pathTo = @"/Users/Qinggong/Desktop/nextext.txt"; //把加载到内存中的文件,写入到指定的位置 BOOL isWriteSuccess = [data writeToFile:pathTo atomically:YES]; if (isWriteSuccess) { NSLog(@"写入成功"); } else { NSLog(@"写入失败"); } */ //当需要把多个NSData数据拼接成一个数据存储的时候,就要想到使用NSMutableData这个类型 NSString * str1 = @"好好学习"; NSString * str2 = @"天天向上"; NSString * str3 = @"今天休息"; NSMutableData * muData = [[NSMutableData alloc] init]; NSData * d1 = [str1 dataUsingEncoding:NSUTF8StringEncoding]; NSData * d2 = [str2 dataUsingEncoding:NSUTF8StringEncoding]; NSData * d3 = [str3 dataUsingEncoding:NSUTF8StringEncoding]; //appendData 能够把nsdata对象加入到 muData对象中 [muData appendData:d1]; [muData appendData:d2]; [muData appendData:d3]; NSString * path = @"/Users/Qinggong/Desktop/ttttt.txt"; //NSMutableData是继承至NSData的所以可以调用writeToFile 把数据写入到一个指定的目录下 BOOL iswriteSucess = [muData writeToFile:path atomically:YES]; if (iswriteSucess) { NSLog(@"创建成功"); } else { NSLog(@"创建失败"); }
相关文章推荐
- createSQLQuery的addEntity跟setResultTransformer方法
- Swift String Extension
- 利用原始套接字实现一个简单的采集网络数据包
- 小程序-走迷宫
- LeetCode---Populating Next Right Pointers in Each Node
- IOS自定义请求uiwebview的loading框
- Paoding Rose学习(一)
- 使用thrift作为go和C++中间rpc及问题
- 广播技术
- 【转载】android中如何显示图片局部或者不同区域
- 人生的悲观与乐观
- JS设计模式-工厂模式
- bash sed和awk
- Builder设计模式
- HDU 5135 Little Zu Chongzhi's Triangles(贪心||状压dp)2014ICPC 广州站现场赛
- 编译QT库
- ebs版本查看
- AWK中的OFS的问题
- bash sed和awk
- Cursor