黑马程序员技术交流社区
标题:
今天写了一下文件下的代码行数
[打印本页]
作者:
UT丶
时间:
2014-5-12 20:16
标题:
今天写了一下文件下的代码行数
//计算单个文件的代码行数
NSUInteger codeLineNum(NSString *path)
{
//获得文件管理者,只有一个对象
NSFileManager *manager = [NSFileManager defaultManager];
//判断path为文件夹还是为文件
BOOL dir = NO; // YES为文件夹,NO为非文件夹
//这个路径是否真实
BOOL exit = [manager fileExistsAtPath:path isDirectory:&dir];
//如果不存在,就返回
if(!exit) return 0;
int count = 0;
if(dir)
{
NSLog(@"文件夹");
//装载文件夹下的所有内容
NSArray *array = [manager contentsOfDirectoryAtPath:path error:nil];
//遍历数组中的文件名
for(NSString *name in array)
{
//子文件的全路径
NSString *filePath = [NSString stringWithFormat:@"%@/%@",path,name];
//子路径的总行数
count +=codeLineNum(filePath);
}
return count;
}else
{
//判断文件扩展名, 不是返回0, 变成小写进行判断
NSString *extension = [[path pathExtension] lowercaseString];
if(!([extension isEqualToString:@"h"]||
[extension isEqualToString:@"m"]||
[extension isEqualToString:@"c"]))
{
return 0;
}
//路径必须写死, 替换文件夹前面的字符
//NSRange *ange = [path rangeOfString:@"/Users/Apple/Desktop/Test/"];
//[path stringByReplacingCharactersInRange:ange withString:@""];
//将文件内容存入NSString中
NSString *counts=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//计算\n个数 , 以\n为分割
NSArray *arr = [counts componentsSeparatedByString:@"\n"];
return arr.count;
}
}
复制代码
跟大家分享一下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2