IOS计算路径下代码总量
来源:互联网 发布:护肤品淘宝店铺名字 编辑:程序博客网 时间:2024/05/22 03:26
本文是计算代码行数的一个方法的工具类。
Utils.h文件
//// Utils.h//// Created by yzy on 17/7/25.// Copyright © 2017年 Lord_Air. All rights reserved.//#import <Foundation/Foundation.h>@interface Utils : NSObject- (int)codeLines:(NSString *)path;- (int)fileCodeLines:(NSString *)filePath;+ (id)util;@end
Utils.m文件
//// Utils.m//// Created by yzy on 17/7/25.// Copyright © 2017年 Lord_Air. All rights reserved.//#import "Utils.h"@implementation Utils- (int)codeLines:(NSString *)path{ NSFileManager *manage = [NSFileManager defaultManager]; //获取NSFileManager管理类 BOOL isDir = NO ; BOOL isExist = [manage fileExistsAtPath:path isDirectory:&isDir]; //返回值是文件是否存在,后面的接受是否是文件夹 int result = 0 ; if(isExist){ if(isDir){ //文件夹 NSArray *files = [manage contentsOfDirectoryAtPath:path error:nil]; //获取文件夹中的所有文件,只会返回一个相对的路径 for(NSString *fileName in files){ //递归调用遍历文件计算行数 result += [self codeLines:[NSString stringWithFormat:@"%@/%@",path,fileName]]; } }else{//文件 NSString *extension = [[path pathExtension]lowercaseString]; //获取字符串的拓展名,不包含,强制转化为小写 if([extension isEqualToString:@"c"] || [extension isEqualToString:@"m"] || [extension isEqualToString:@"h"]){ //必须为.c,.m,.h文件 result += [self fileCodeLines:path]; }else{ NSLog(@"%@文件不是源代码文件",[path lastPathComponent]); } } } return result;}- (int)fileCodeLines:(NSString *)filePath{ int result = 0 ; NSFileManager *fManager = [NSFileManager defaultManager]; BOOL isExist = [fManager fileExistsAtPath:filePath]; if(isExist){ NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; result += [content componentsSeparatedByString:@"\n"].count; //以\n分割 NSString *fileName = [filePath lastPathComponent]; //获取文件名称 NSLog(@"%@的文件共有%d行代码",fileName,result); }else{ NSLog(@"文件路径不存在"); } return result;}+ (id)util{ return [[self alloc]init];}@end
阅读全文
1 0
- IOS计算路径下代码总量
- [iOS]获取工程代码总量
- 记录下 每天查询总量
- iOS代码行数计算
- ios 计算代码耗时
- iOS判断沙盒文件,计算文件总量,查看IOS沙盒中文件的属性(修改日期,创建日期,大小等)
- 在arcmap中计算每个要素占总量的百分比
- ios开发计算代码行数
- iOS 计算代码块执行时间
- 【代码笔记】iOS-计算时间差
- iOS计算一段代码执行时间
- 常见矩阵路径计算问题(iOS版本)
- 获取IOS下各种路径
- iOS下的路径写法
- iOS计算代码耗时的代码
- IOS 代码下断点
- iOS下截图代码
- ios--代码获取沙盒缓存路径
- react学习笔记
- docker 安装常见问题
- sublime插件的安装(转发)
- Java生成缩略图之Thumbnailator
- SpringMVC 详解
- IOS计算路径下代码总量
- hdu 3001
- 排序算法
- 范式、游标、触发器
- 函数的调用约定(__cdecl,__stdcall,__fastcall,__pascal)
- AOP
- PL/SQL左侧窗口显示设置及myObject设为默认
- ubuntu16.04 64位安装HTS-2.3(包括前端配置)【待更】
- java中的基本数据类型一定存储在栈中的吗?