全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小

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 +"\\" + 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 tmpsize = 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++;//文件计数
      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");
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# node.js与C语言  # 实现遍历文件夹下最大的文件  # node.js实现遍历文件夹下文件  # C语言实现遍历文件夹中的文件  # C语言 实现遍历一个文件夹的所有文件  # C语言按关键字搜索文件夹中文件的方法  # C语言实现清空指定文件夹中所有文件的方法  # C语言实现的统计php代码行数功能源码(支持文件夹、多目录)  # C语言scandir函数获取文件夹内容的实现  # 遍历  # 递归  # 希望能  # 谢谢大家  # 为空  # 判断是否  # console  # filepath  # log  # forEach  # Traversal  # files  # err  # readdir  # index  # file  # process  # lt  # exit  # devtools 


相关文章: 如何在建站之星网店版论坛获取技术支持?  如何通过虚拟机搭建网站?详细步骤解析  如何高效利用200m空间完成建站?  内部网站制作流程,如何建立公司内部网站?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  已有域名如何快速搭建专属网站?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何零基础开发自助建站系统?完整教程解析  测试制作网站有哪些,测试性取向的权威测试或者网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  中山网站推广排名,中山信息港登录入口?  潮流网站制作头像软件下载,适合母子的网名有哪些?  c# 在ASP.NET Core中管理和取消后台任务  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  智能起名网站制作软件有哪些,制作logo的软件?  建站之星如何实现网站加密操作?  如何在七牛云存储上搭建网站并设置自定义域名?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何通过wdcp面板快速创建网站?  简单实现Android文件上传  如何在IIS7中新建站点?详细步骤解析  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何在Windows环境下新建FTP站点并设置权限?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在Golang中使用replace替换模块_指定本地或远程路径  建站之星IIS配置教程:代码生成技巧与站点搭建指南  建站为何优先选择香港服务器?  油猴 教程,油猴搜脚本为什么会网页无法显示?  宝塔新建站点报错如何解决?  建站之星好吗?新手能否轻松上手建站?  如何选择最佳自助建站系统?快速指南解析优劣  如何通过VPS建站实现广告与增值服务盈利?  如何通过多用户协作模板快速搭建高效企业网站?  如何用搬瓦工VPS快速搭建个人网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  小建面朝正北,A点实际方位是否存在偏差?  如何设计高效校园网站?  广德云建站网站建设方案与建站流程优化指南  制作公司内部网站有哪些,内网如何建网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  教程网站设计制作软件,怎么创建自己的一个网站?  如何基于云服务器快速搭建网站及云盘系统?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何快速打造个性化非模板自助建站?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在阿里云香港服务器快速搭建网站?  已有域名和空间如何快速搭建网站?  建站VPS配置与SEO优化指南:关键词排名提升策略 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。