OC_NSFileManager

案例1:通过文件扩展名进行搜索文件

  1.       NSFileManager *manager = [NSFileManager defaultManager];
  2.         /*
  3.          在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
  4.          stringByExpandingTildeInPath将~替换成当前用户的主目录。
  5.          enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
  6.          */
  7.         NSString *home = [@"~" stringByExpandingTildeInPath];
  8.         //
  9.         NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
  10.         NSMutableArray *files = [NSMutableArray arrayWithCapacity:32];
  11.         NSString *filename;
  12.         NSLog(@"请输入要查询的文件类型:");
  13.         char extension[10];
  14.         scanf("%s",extension);
  15.    //将C语言字符串转OC字符串
  16.         NSString *exten = [NSString stringWithFormat:@"%s",extension];
  17.         while (filename = [direnum nextObject]) {
  18.             if ([[filename pathExtension]isEqualTo:exten]) {
  19.                 [files addObject:filename];
  20.                 
  21.             }
  22.         }
  23.         NSEnumerator *fileenum;
  24.         fileenum = [files objectEnumerator];
  25.         while (filename =[fileenum nextObject]) {
  26.             NSLog(@"%@",filename);
  27.         }

 

案例2:通过文件名进行搜索文件

 

  1. #import <Foundation/Foundation.h>
  2. int main(int argc, const char * argv[]) {
  3.     @autoreleasepool {
  4.         NSFileManager *manager = [NSFileManager defaultManager];
  5.         /*
  6.          在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
  7.          stringByExpandingTildeInPath将~替换成当前用户的主目录。
  8.          enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
  9.          */
  10.         NSString *home = [@"~" stringByExpandingTildeInPath];
  11.         //获取主目录下的文件路径
  12.         NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
  13.         //声明一个足够大的数组来保存搜索到的文件路径
  14.         NSMutableArray *files = [NSMutableArray arrayWithCapacity:100];
  15.         NSString *path;
  16.         NSLog(@"请输入要查询的文件名:");
  17.         char fileName[10];
  18.         scanf("%s",fileName);
  19.         //字符串转NSString
  20.         NSString *exten = [NSString stringWithUTF8String:fileName];
  21.         while (path = [direnum nextObject]) {
  22.             //对路径进行分割
  23.             NSArray *array = [path pathComponents];
  24.             NSString *obj;
  25.             for(obj in array)
  26.             {
  27.                 //对路径的分割部分进行检索,比对,如果等于要输入的文件名,进行另外保存
  28.                 if ([obj isEqualTo:exten]) {
  29.                     [files addObject:path];
  30.                     break;
  31.                 }
  32.             }
  33.         
  34.         }
  35.         //遍历搜索结果
  36.         for(id obj in files)
  37.         {
  38.             NSLog(@"%@",obj);
  39.         }
  40.     }
  41.     return 0;
  42. }

 

全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下&nbsp;HR&nbsp;会来跟你谈。”&nbsp;我当时脑子直接宕机,一句话都没憋出来。后面&nbsp;HR&nbsp;找我谈话,直属领导也在旁边。HR&nbsp;说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务