// 传入文件路径 返回文件下所有文件内容行数
unsigned long codeLineCount(NSString *Path)
{
// 获得文件管理者
NSFileManager *mgr = [NSFileManager defaultManager];
// 判断path是文件夹还是文件路径
BOOL dir = NO; //标记是否为文件夹
// 这个路径是否存在
BOOL exists = [mgr fileExistsAtPath:Path isDirectory:&dir];
// 如果不存在,直接返回0
if (!exists) return 0;
if (dir) {
NSLog(@"是个文件夹");
// 装着当前文件夹下面的所有内容(文件夹、文件)
NSArray *array = [mgr contentsOfDirectoryAtPath:Path error:nil];
int count = 0;
// 遍历数组中所有的文件(文件夹)名
for (NSString *fileName in array) {
// 子文件(夹)路径
NSString *fullPath = [NSString stringWithFormat:@"%@/%@",Path,fileName];
count += codeLineCount(fullPath);
}
return count;
}else
{
// 加载文件内容
NSString *content = [NSString stringWithContentsOfFile:Path encoding:NSUTF8StringEncoding error:nil];
// 将文件内容切割为每一行
NSArray *array = [content componentsSeparatedByString:@"\n"];
return array.count;
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *filePath = @"/Users/chengyi/Desktop/未命名文件夹/cc.m";
unsigned long count = codeLineCount(filePath);
NSLog(@"%ld",count);
}
return 0;
}
计算整个文件夹的代码行数
最新推荐文章于 2022-05-18 23:46:11 发布