国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

node.js與C語言 實現遍歷文件夾下最大的文件,并輸出路徑,大小

2019-11-19 17:51:14
字體:
來源:轉載
供稿:網友

node.js版    

遍歷文件夾下最大的文件,并輸出路徑,大小

實現代碼:

/*  遍歷文件夾下最大的文件,并輸出路徑,大小*/ function findmax(basepath){  //只能執行一次  if(findmax.s) return;  findmax.s = true;  var fs = require('fs');  var maxfile = 0;  var count = 0;  var begin = new Date().getTime();  function Traversal(filepath){    fs.readdir(filepath, function(err,files){      if(err) return;      files.forEach(function(file,index,files){        //console.log(index + "=" + filepath +"http://" + file);        var tmppath = filepath +"http://" + 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 tmpsize = 0;  WIN32_FIND_DATA FindFileData;   strcpy(szFind,lpPath);   strcat(szFind,"http://*.*");  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,"http://");        strcat(szFile,FindFileData.cFileName);         find(szFile);//遞歸調用      }     }else{       //printf("%s/n",FindFileData.cFileName);      count++;//文件計數      tmpsize = FindFileData.nFileSizeLow;      if(maxsize < tmpsize)  maxsize = tmpsize;    }    //下一個文件為空,則退出    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");}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景德镇市| 酉阳| 都兰县| 区。| 浦江县| 图片| 平阴县| 正安县| 日土县| 扬州市| 阳城县| 新和县| 股票| 锦屏县| 新邵县| 丹东市| 宣威市| 南昌县| 敦煌市| 平舆县| 玉溪市| 土默特右旗| 临夏县| 秦皇岛市| 河池市| 海原县| 仪陇县| 绥江县| 夏邑县| 罗平县| 团风县| 嵊泗县| 宁南县| 神农架林区| 六枝特区| 桂阳县| 石嘴山市| 图片| 宜兰市| 怀安县| 肃宁县|