这是OC的Foundation框架里的NSString、NSArray、NSRange和NSFileManager的结合使用,很有学习用处:
#import <Foundation/Foundation.h>
/*
考察NSString、NSArray的使用
NSFileManager 单例对象(整个程序中只有一个对象!)
*/
int main()
{
long codeLineCount(NSString *);
long i = codeLineCount(@"/Users/qitan/Desktop/learning");
NSLog(@"总行数:%ld", i);
return 0;
}
//计算单个文件的代码行数
/*
path:文件的全路径(可能是文件夹、也可能是文件)
返回值:代码行数
*/
long codeLineCount(NSString *path)
{
// 1.获得文件管理者
NSFileManager *mgr = [NSFileManager defaultManager];
// 2.判断path是文件夹还是文件
BOOL isDir = NO; // 标记是否为文件夹
// 这个路径是否存在
BOOL exist = [mgr fileExistsAtPath:path isDirectory:&isDir];
// 3.如果不存在,直接返回0
if (!exist) {
NSLog(@"文件路径不存在!");
return 0;
}
// 4.说明路径存在
if (isDir)
{ // 文件夹