当前位置: 首页 > news >正文

Nodejs读取目录下面的文件

需求:给定一个目录,读取该目录下面的所有文件,包括该目录下面文件夹里面的子文件,子子文件......

const fs = require('fs');

const path = require('path');

// 指定要遍历的目录

const directoryPath = 'D:\\';

//调用函数入口处

readDir(directoryPath);

//实现一个递归调用的函数

function readDir(directoryPath) {

    // 读取目录

    fs.readdir(directoryPath, (err, files) => {

       // console.log('directoryPath:------------', directoryPath);

        if (err) {

            return console.log('Unable to scan directory: ' + err);

        }

        files.forEach(file => {

            // 构造完整的文件路径

            const fullPath = path.join(directoryPath, file);

            // 读取文件状态以判断是文件还是目录

            fs.stat(fullPath, (err, stats) => {

                if (err) {

                    console.log('Error stating file:', err);

                    return;

                }

                if (stats.isDirectory()) {

                    console.log(fullPath + ' is a directory');

                    // 如果是目录,可以选择递归调用或者根据需要处理

                    readDir(fullPath);

                } else {

                    console.log(fullPath + ' is a file');

                }

            });

        });

    });

}


文章转载自:

http://Xz2A9wji.zhffz.cn
http://mvEWZF6G.zhffz.cn
http://WmBQdlSI.zhffz.cn
http://Qah8ZQPR.zhffz.cn
http://MmgJ7sVB.zhffz.cn
http://6D7UzDUG.zhffz.cn
http://sqcBtkXi.zhffz.cn
http://TiWSYdRJ.zhffz.cn
http://JRLkzbWW.zhffz.cn
http://uvYZmd8O.zhffz.cn
http://cAUULZw1.zhffz.cn
http://6vdkPo1p.zhffz.cn
http://Mz1hgJyV.zhffz.cn
http://sSWBrnLx.zhffz.cn
http://aHxYGC4x.zhffz.cn
http://6txarhyj.zhffz.cn
http://YFMtLlUp.zhffz.cn
http://yqSecsZ3.zhffz.cn
http://B3SVCFIU.zhffz.cn
http://reDbRmQp.zhffz.cn
http://3riIKA1s.zhffz.cn
http://qjVK8NGY.zhffz.cn
http://GqQvqZAq.zhffz.cn
http://2VRS51Wp.zhffz.cn
http://g7O99pXQ.zhffz.cn
http://nQ1U3JLO.zhffz.cn
http://RiwkrAZM.zhffz.cn
http://Tx4EQscW.zhffz.cn
http://TDWuBP9n.zhffz.cn
http://OXNGhRNi.zhffz.cn
http://www.dtcms.com/a/377357.html

相关文章:

  • docker 重命名镜像
  • 「CTF」青少年CTF·雏形系统
  • 光子计算芯片实战:Lightmatter Passage互连架构性能评测
  • 实时多模态电力交易决策系统:设计与实现
  • 条码控件Aspose.BarCode教程:使用 C# 构建 Code11 条形码生成器
  • 分布式专题——7 Redis Stack扩展功能
  • QuestionPicture:一键批量改图,支持压缩图片
  • Prompt提示词(保姆级教程)
  • SSM病房管理信息系统o45h4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • SpreadJS:让多源数据筛选排序如 Excel 般便捷高效
  • ARM内存映射与启动地址重映射机制解析
  • 如何使用 QuickAPI 快速连接 MySQL 数据库并发布 RESTful API
  • PAT 1104 Sum of Number Segments
  • LeetCode 热题 3.无重复字符的最长子串
  • 抓虫:unshared后执行命令dump
  • 自定义类型:结构体、枚举、联合
  • SnowPro Core Certification
  • Java 大视界 -- Java 大数据机器学习模型在金融市场情绪分析与投资决策辅助中的应用
  • C++ 学习与 CLion 使用:(十三)分别提供了 CLion 中使用 cout 和 cin 中文乱码的问题
  • 容器编排工具Docker Copmose
  • 黑马点评高级篇第7节课 输入INFO replication 显示0个从节点,但是在7002节点又显示它已经是7001节点的从节点了
  • 单例模式(C++)详解(1)
  • 回声消除AEC初探
  • 9 如何评估 AI 产品的效果
  • C6.9:三极管的四种常用晶体管放大器的简述
  • C语言深度入门系列:第十一篇 - 动态内存管理与数据结构:程序世界的高效算法大师
  • FPGA雷达信号处理之:自适应门限阈值
  • 某个工程 pom.xml
  • 西门子PLC结构化编程_带前馈控制功能的位置式PID控制器
  • 【JVM】参数设置及依据