// 傳入文件路徑 返回文件下所有文件內容行數
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;
}
計算整個文件夾的代碼行數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.