OC便利方法


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {


#if 0

//    从面向对象的角度来分析这个问题

//    1.由于目的是扫描指定文件夹下的全部文件信息,所以须要一个文件管理者的对象

    NSFileManager *fileManager = nil;

    fileManager = [NSFileManager defaultManager]; //得到文件管理者对象

    

//    2.须要知道怎样获取home文件夹

    NSString *path = [@"~" stringByExpandingTildeInPath];

//    3.怎样遍历文件夹下的全部文件(构建文件枚举对象)

    NSDirectoryEnumerator *dirEnum = [fileManager enumeratorAtPath:path];

//    4.得到文件夹下的文件后, 推断文件的后缀是不是.c文件

//    5.须要构建一个可变数组,用于存放查找到的.c文件。

假设是.c文件,就放到数组里

    NSMutableArray *arrayFiles = [NSMutableArray arrayWithCapacity:20];

    

#if 0

    NSString *fileName = [dirEnum nextObject];

    while (fileName != nil) {

        if ([[fileName pathExtension] isEqualToString:@"c"])

        {

            [arrayFile addObject:fileName];

        }

        fileName = [dirEnum nextObject];

    }

#endif

    NSString *fileName = nil;

    while ((fileName = [dirEnum nextObject]) != nil)

    {

        if ([[fileName pathExtension] isEqualToString:@"c"])

        {

            [arrayFiles addObject:fileName];

        }

    }

//    6.遍历数组的全部元素。 然后将其打印到屏幕上

    

    for (NSString *name in arrayFiles) {

        NSLog(@"%@",name);

    }

#endif

    

    NSFileManager *fileManager = [NSFileManager defaultManager];

    NSString *home;

    home = [@"~" stringByExpandingTildeInPath];

    NSMutableArray *files = [NSMutableArray arrayWithCapacity:20];

    

//    这里的高速枚举相当于

//    NSDirectoryEnumerator *dicEnumber = [fileManager enumeratorAtPath:home];

//    NSString *fileName = [dicEnumber nextObject];

    for (NSString *fileName in [fileManager enumeratorAtPath:home]) {

        if ([[fileName pathExtension] isEqualToString:@"c"]) {

            [files addObject:fileName];

        }

    }

    

    for (NSString *name in files) {

        NSLog(@"%@",name);

    }

    

    return 0;

}


posted @ 2017-06-18 17:47  yfceshi  阅读(140)  评论(0编辑  收藏  举报