node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
投稿:lqh
这篇文章主要介绍了node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小的相关资料,需要的朋友可以参考下
files.forEach(function(file,index,files){ //console.log(index + "=" + filepath +"\\" + file); var tmppath = filepath +"\\" + file; fs.stat(tmppath, function (err, stats) { if (err) { console.log("打开文件错误" + err); return; if(stats.isDirectory()) Traversal(tmppath); else { //console.log(++count +" "+ tmppath + " " + stats.size); count++; if(maxfile stats.size) maxfile = stats.size; Traversal(basepath); process.on('exit', function () { var end = new Date().getTime(); console.log(count + '结束耗时:' + (end - begin) + "ms " + maxfile); }); console.log(basepath); findmax('D:\\devtools\\'); C/C++实现代码 #include stdio.h #include windows.h #include time.h DWORD maxsize = 0; clock_t start, end; DWORD count = 0; void find(char * lpPath) char szFind[MAX_PATH],szFile[MAX_PATH]; DWORD tm凡科抠图ize = 0; WIN32_FIND_DATA FindFileData; strcpy(szFind,lpPath); strcat(szFind,"\\*.*"); HANDLE hFind=FindFirstFile(szFind, FindFileData); if(INVALID_HANDLE_VALUE == hFind) return; while(TRUE) if(FindFileData.dwFileAttributes FILE_ATTRIBUTE_DIRECTORY)//如果为目录 if(FindFileData.cFileName[0] != '.') //判断是否为. or .. strcpy(szFile,lpPath); strcat(szFile,"\\"); strcat(szFile,FindFileData.cFileName); find(szFile);//递归调用 }else{ //printf("%s\n",FindFileData.cFileName); count++;//文件计数 tm凡科抠图ize = FindFileData.nFileSizeLow; if(maxsize tm凡科抠图ize) maxsize = tm凡科抠图ize; //下一个文件为空,则退出 if(!FindNextFile(hFind, FindFileData)) break; void main() char filepath[MAX_PATH]="d:\\devtools"; printf("%s\n",filepath); start = clock(); find(filepath); end = clock(); printf("文件数:%d %dms max File:%d",count,end - start,maxsize); //system("PAUSE"); 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (责任编辑:admin) |