IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    oc之统计代码行数

    键盘上的舞者发表于 2015-06-11 04:34:40
    love 0

    NSUInteger codeLine(NSString *path)
    {
        //判断path传入的是文件夹还是文件名,并判断文件名的后缀是不是需要统计的
        NSFileManager *mgr=[NSFileManager defaultManager];
        BOOL dir=NO;
        BOOL exist=[mgr fileExistsAtPath:path isDirectory:&dir;];
        //path不存在,直接返回
        if(!exist) return 0;
        if(dir)
        {
            int count=0;
            //获取目录下的文件
            NSArray *arr=[mgr contentsOfDirectoryAtPath:path error:nil];
            for (NSString *strName in arr) {
                //获取文件的全路径
                NSString *fullPath=[NSString stringWithFormat:@"%@/%@",path,strName];
               // NSLog(@"%@",fullPath);
                count+=codeLine(fullPath);
            }
            return count;
        }
        else
        {
            NSString *ext=[[path pathExtension] lowercaseString];
            if(!([ext isEqualToString:@"h"]||[ext isEqualToString:@"m"]))
                return 0;
            //NSLog(@"%@",path);
            //通过文件路径读取内容
            NSString *str=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
            //字符串分割成数组
            NSArray *array=[str componentsSeparatedByString:@"\n"];
            //获得数组的长度即代码行数
            return array.count;
        }
    
    }



沪ICP备19023445号-2号
友情链接