传入的路径是没问题的,但输出结果是文件夹不存在 - #import <Foundation/Foundation.h>
- NSInteger codeLineCount(NSString *path)
- {
- // 获得文件管理者
- NSFileManager *mgr=[NSFileManager defaultManager];
- // 判断path是文件夹还是路径
- BOOL dir=NO; // 判断文件是否存在
- // 判断文件路径是否存在
- BOOL exist=[mgr fileExistsAtPath:path isDirectory:&dir];
- // 如果不存在,直接返回0
- if(!exist)
- {
- NSLog(@"文件路径不存在");
- return 0;
- }
-
- if(dir)
- {
- int count=0;
- // 获得当前路径下的所有文件(夹)
- NSArray *array=[mgr contentsOfDirectoryAtPath:path error:nil];
- // 遍历所有文件名
- for(NSString *filename in array)
- {
- // 子文件的全路径
- NSString *fullPath=[NSString stringWithFormat:@"%@%@",path,filename];
- // 累加每个路径的总行数
- count+= codeLineCount(fullPath);
- }
- return count;
- }
-
- else
- {
- NSString *extension=[[path pathExtension] lowercaseString];
- if(!([extension isEqualToString:@"c"]||
- [extension isEqualToString:@"h"]||
- [extension isEqualToString:@"m"]))
- {
- return 0;
- }
- // 加载文件内容
- NSString *content=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
- // 将文件切割成每一行
- NSArray *array=[content componentsSeparatedByString:@"\n"];
- NSRange range=[path rangeOfString:@"/Users/Mark_Lee/Desktop/IOS"];
- NSString *str=[path stringByReplacingCharactersInRange:range withString:@""];
- NSLog(@"%@-%ld",str,array.count);
- return array.count;
- }
-
- }
- int main() {
- NSInteger count =codeLineCount(@"/Users/Mark_Lee/Desktop/IOS");
-
- NSLog(@"%ld",count);
-
- return 0;
- }
复制代码
|
|