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
- Foundation03
- Eclipse中用git解决冲突----避免每次重新拉代码
- linux设备:cdev和kobj_map
- RHEL7: Systemd入门
- JUnit三分钟教程 ---- 快速起步
- jQuery UI设定datepicker控件的指定某些天不可用
- Foundation03
- 如何从Lytro 相机中获取图像阵列
- (转载)二维数组、字符数组与字符串
- HttpServlet详解
- 楚人谓多为夥,故天下传之“夥涉为王
- JUnit三分钟教程 ---- 实际应用
- Android开发在路上:少去踩坑,多走捷径
- Analysis the root reason why incoming SMS cannot wake up host
- java线程