OC_NSFileManager
案例1:通过文件扩展名进行搜索文件
- NSFileManager *manager = [NSFileManager defaultManager];
- /*
- 在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
- stringByExpandingTildeInPath将~替换成当前用户的主目录。
- enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
- */
- NSString *home = [@"~" stringByExpandingTildeInPath];
- //
- NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
- NSMutableArray *files = [NSMutableArray arrayWithCapacity:32];
- NSString *filename;
- NSLog(@"请输入要查询的文件类型:");
- char extension[10];
- scanf("%s",extension);
- //将C语言字符串转OC字符串
- NSString *exten = [NSString stringWithFormat:@"%s",extension];
- while (filename = [direnum nextObject]) {
- if ([[filename pathExtension]isEqualTo:exten]) {
- [files addObject:filename];
- }
- }
- NSEnumerator *fileenum;
- fileenum = [files objectEnumerator];
- while (filename =[fileenum nextObject]) {
- NSLog(@"%@",filename);
- }
案例2:通过文件名进行搜索文件
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- NSFileManager *manager = [NSFileManager defaultManager];
- /*
- 在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
- stringByExpandingTildeInPath将~替换成当前用户的主目录。
- enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
- */
- NSString *home = [@"~" stringByExpandingTildeInPath];
- //获取主目录下的文件路径
- NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
- //声明一个足够大的数组来保存搜索到的文件路径
- NSMutableArray *files = [NSMutableArray arrayWithCapacity:100];
- NSString *path;
- NSLog(@"请输入要查询的文件名:");
- char fileName[10];
- scanf("%s",fileName);
- //字符串转NSString
- NSString *exten = [NSString stringWithUTF8String:fileName];
- while (path = [direnum nextObject]) {
- //对路径进行分割
- NSArray *array = [path pathComponents];
- NSString *obj;
- for(obj in array)
- {
- //对路径的分割部分进行检索,比对,如果等于要输入的文件名,进行另外保存
- if ([obj isEqualTo:exten]) {
- [files addObject:path];
- break;
- }
- }
- }
- //遍历搜索结果
- for(id obj in files)
- {
- NSLog(@"%@",obj);
- }
- }
- return 0;
- }
分类:
Objective-C开发篇
标签:
NSFileManager
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期