Objective-C实现计算你写了多少行代码

#import <Foundation/Foundation.h>


NSInteger codeLineCount(NSString *path)

{

    //1.获取文件管理者,这是一个单例

    NSFileManager *manage = [NSFileManager defaultManager];

    //2.判断文件夹or文件

    BOOL dir = NO;

    BOOL exist = [manage fileExistsAtPath:path isDirectory:&dir];

    if (!exist) return 0;

    if (dir) {

        NSArray *arr = [manage contentsOfDirectoryAtPath:path error:nil];

        NSInteger count = 0;

        for (NSString *str in arr) {

            NSString *fullPath = [NSString stringWithFormat:@"%@/%@", path, str];

            count += codeLineCount(fullPath);

        }

        return count;

    }else{

        NSString *content =  [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

        NSArray *arr = [content componentsSeparatedByString:@"\n"];

        return arr.count;

    }

    

    

}


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

    @autoreleasepool {

#warning 这里改成你想要计算的文件夹活着文件

        NSInteger count = codeLineCount(@"/Users/hj/work/hjhj");

        NSLog(@"%ld",count);

        

    }

    return 0;

}

你可能感兴趣的:(Objective-C)