Foundation03

来源:互联网 发布:数据库表 设计的优缺点 编辑:程序博客网 时间:2024/05/02 02:50
#import <Foundation/Foundation.h>NSUInteger codeLineCount(NSString * path, NSString * repalcedPath){    // 1. 获得文件管理者    NSFileManager * mgr = [NSFileManager defaultManager];    // 2. 判断url是否是一个文件    BOOL dir = NO;    BOOL exist = [mgr fileExistsAtPath:path isDirectory:&dir];    if (!exist) return 0;    if (dir)    {        // dir = 1 路径是文件夹        NSArray * array = [mgr contentsOfDirectoryAtPath:path error:nil];                NSUInteger count = 0;                for (id obj in array)        {            NSString * fullPath = [NSString stringWithFormat:@"%@/%@", path, obj];            count = count + codeLineCount(fullPath, repalcedPath);        }        return count + 1;    }    else    {        NSString * extension = [[path pathExtension] lowercaseString];        if (![extension isEqualToString:@"h"] && ![extension isEqualToString:@"m"] &&![extension isEqualToString:@"c"])        {            return 0;        }        else        {        // dir = 0 路径是文件            NSString * content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];            NSArray * array = [content componentsSeparatedByString:@"\n"];            NSRange range = [[NSString stringWithFormat:@"%@/", repalcedPath] rangeOfString:[NSString stringWithFormat:@"%@/", repalcedPath]];                        NSLog(@"%@ - %lu", [path stringByReplacingCharactersInRange:range withString:@""], [array count]);                    return [array count] + 1;        }    }}int main(void){    NSString * path = @"/Users/sekey1991/Desktop/objective-c/FoundationStudy";    NSUInteger count = codeLineCount(path, path);    NSLog(@"%ld", count);    return 0;}

0 0
原创粉丝点击