首页 > 代码库 > 【Foundation】NSFileManager文件操作.02
【Foundation】NSFileManager文件操作.02
1.文件目录操作
// 1.创建文件操作对象fm,并打印出当前目录 NSFileManager *fm=[NSFileManager defaultManager]; // 获取当前目录 NSLog(@"当前目录:%@",[fm currentDirectoryPath]); ///2014-04-01 13:58:20.523 NSFileManager[1161:303] 当前目录:/Users/haiyefeng/Library/Developer/Xcode/DerivedData/NSFileManager-biurdpictydvbnfanzflyhtwgvxy/Build/Products/Debug // 2.创建新目录【在目录中创建一个文件夹】 NSString *dirName=@"/Users/haiyefeng/Desktop/新建文件夹1"; if([fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:NULL]==NO) { NSLog(@"无法创建文件夹!"); return 1; } else { NSLog(@"创建文件夹成功"); //在桌面创建了一个新建文件夹1 } // 3.重命名目录名称 NSString *dirName2=@"/Users/haiyefeng/Desktop/新建文件夹2"; if([fm moveItemAtPath:dirName toPath:dirName2 error:NULL]==NO) { NSLog(@"文件夹重命名失败!"); return 2; } else { NSLog(@"文件夹重命名成功!"); //将文件夹目录下的新建文件夹1重命名为新建文件夹2 } // 4.、改变fm所指向的目录地址为新目录newDir if([fm changeCurrentDirectoryPath:@"newDir"]==NO) { NSLog(@"进入文件夹失败!"); return 3; } //显示当前目录 NSString *path=[fm currentDirectoryPath]; NSLog(@"当前目录%@",path); NSLog(@"所有操作已经完成!"); ///2014-04-01 13:58:20.612 NSFileManager[1161:303] 当前目录/Users/haiyefeng/Library/Developer/Xcode/DerivedData/NSFileManager-biurdpictydvbnfanzflyhtwgvxy/Build/Products/Debug/newDir ///2014-04-01 13:58:20.612 NSFileManager[1161:303] 所有操作已经完成!
2.目录遍历列表
// 创建文件处理对象fm NSFileManager *fm=[NSFileManager defaultManager]; // 测试目录 NSString *path=@"/Users/haiyefeng/Desktop"; // 1.使用“目录列举器” NSDirectoryEnumerator *myDirectoryenumerator=[fm enumeratorAtPath:path]; // 列举目录内容 NSLog(@"用enumeratorAtPath:显示的目录%@的内容",path); while ((path=[myDirectoryenumerator nextObject])!=nil) { NSLog(@"%@",path); }
(2).另外一种遍历方法
// 2、 用另外一种办法列举目录内容 NSString * path2=@"/Users/haiyefeng/Desktop"; //旧版方法 // NSArray *dirctoryCountents1=[fm directoryContentsAtPath:path2]; //新版方法 NSArray * directoryCountents2=[fm contentsOfDirectoryAtPath:path2 error:NULL]; NSLog(@"用directoryContentsAtPath:显示目录%@的内容:",path2); for (path2 in directoryCountents2) { NSLog(@"%@",path2); }
3.目录管理
// 获取并且显示临时目录 NSString *temporaryDirectory=NSTemporaryDirectory(); NSLog(@"临时目录为:%@",temporaryDirectory); ///2014-04-01 14:54:29.857 路径操作[1544:303] 临时目录为:/var/folders/cm/ch_b5n9x2q7741ntvq4jlmpc0000gn/T/ NSFileManager *myfileManager=[NSFileManager defaultManager]; // 从当前目录路径中获取基目录 NSString *path=[myfileManager currentDirectoryPath]; NSLog(@"基本目录为:%@",[path lastPathComponent]); // 获取文件main.m的完整路径 NSString *fileName=@"main.m"; NSString *fullPath=[path stringByAppendingPathComponent:fileName]; NSLog(@"完整路径为:%@",fullPath); // 获取完整路径fullPath红的拓展名 NSString *extension=[fullPath pathExtension]; NSLog(@"拓展名为%@",extension); // 获取用户的主目录 NSString *homeDirectory=NSHomeDirectory(); NSLog(@"用户主目录为:%@",homeDirectory); // 获取用户的主目录路径拆分,并且分别显示出来 NSArray *components=[homeDirectory pathComponents]; for (NSString *pathComponent in components) { NSLog(@"%@",pathComponent); } // 将简略路径转换成标准路径 NSString *uPath=@"~/Desktop/Sample/Sample/main.m"; NSLog(@"%@=>%@",uPath,[uPath stringByStandardizingPath]);
4.列举目录操作
1)
// 创建文件处理对象fm NSFileManager *fm=[NSFileManager defaultManager]; NSString * path2=@"/Users/haiyefeng/Desktop"; //旧版方法 // NSArray *dirctoryCountents1=[fm directoryContentsAtPath:path2]; //新版方法 NSArray * directoryCountents2=[fm contentsOfDirectoryAtPath:path2 error:NULL]; NSLog(@"用directoryContentsAtPath:显示目录%@的内容:",path2); for (path2 in directoryCountents2) { NSLog(@"%@",path2); }
2)
// 创建文件处理对象fm NSFileManager *fm=[NSFileManager defaultManager]; // 测试目录 NSString *path=@"/Users/haiyefeng/Desktop"; // 1.使用“目录列举器” NSDirectoryEnumerator *myDirectoryenumerator=[fm enumeratorAtPath:path]; // 列举目录内容 NSLog(@"用enumeratorAtPath:显示的目录%@的内容",path); while ((path=[myDirectoryenumerator nextObject])!=nil) { NSLog(@"%@",path); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。