node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
发布时间 - 2026-01-10 22:40:12 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Linux系统命令中screen命令详解
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
PythonWeb开发入门教程_Flask快速构建Web应用
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel如何生成URL和重定向?(路由助手函数)
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Java解压缩zip - 解压缩多个文件或文件夹实例
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何在香港服务器上快速搭建免备案网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel PHP版本要求一览_Laravel各版本环境要求对照
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Android okhttputils现在进度显示实例代码
lovemo网页版地址 lovemo官网手机登录
三星、SK海力士获美批准:可向中国出口芯片制造设备
如何在景安云服务器上绑定域名并配置虚拟主机?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
用v-html解决Vue.js渲染中html标签不被解析的问题
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Laravel如何处理异常和错误?(Handler示例)
网站制作壁纸教程视频,电脑壁纸网站?
Python并发异常传播_错误处理解析【教程】
活动邀请函制作网站有哪些,活动邀请函文案?
Python正则表达式进阶教程_复杂匹配与分组替换解析
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何快速生成橙子建站落地页链接?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
微信小程序 input输入框控件详解及实例(多种示例)
教你用AI润色文章,让你的文字表达更专业
Laravel怎么上传文件_Laravel图片上传及存储配置
Laravel如何创建自定义Artisan命令?(代码示例)
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
如何在万网利用已有域名快速建站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】

