返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js中怎么利用递归遍历文件夹
  • 585
分享到

Node.js中怎么利用递归遍历文件夹

2024-04-02 19:04:59 585人浏览 泡泡鱼
摘要

node.js中怎么利用递归遍历文件夹,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如标题所示,遍历文件夹下的所有文件,主要功

node.js中怎么利用递归遍历文件夹,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如标题所示,遍历文件夹下的所有文件,主要功能如下:

传入一个路径,读取路径里面所有的文件
遍历读取的文件,判断当前文件是文件还是文件夹
当前目录为文件,打印出当前文件绝对路径
当前目录为文件夹,获取文件夹路径,继续读取路径下文件
遍历完目录中的所有文件为止
代码中用到的几个方法

path.resolve(path)

一个路径或路径片段解析成一个绝对路径,返回解析后的路径字符串
fs.readdir(path[,option],callback)

读取目录下面的文件,返回目录下的文件列表对象,如果传入的是个文件,返回这个文件

fs.stat(path,callback)

获取文件信息对象Stats,包括文件大小,gid等信息

stats.isFile()

文件信息对象Stats的一个方法,判断当前文件是不是一个文件

stats.isDirectory()

文件信息对象Stats的一个方法,判断当前文件是不是一个文件夹

代码和注释如下:

var fs = require('fs');
var path = require('path');

//解析需要遍历的文件夹,我这以E盘根目录为例
var filePath = path.resolve('E:');

//调用文件遍历方法
fileDisplay(filePath);


function fileDisplay(filePath){
  //根据文件路径读取文件,返回文件列表
  fs.readdir(filePath,function(err,files){
    if(err){
      console.warn(err)
    }else{
      //遍历读取到的文件列表
      files.forEach(function(filename){
        //获取当前文件的绝对路径
        var filedir = path.join(filePath,filename);
        //根据文件路径获取文件信息,返回一个fs.Stats对象
        fs.stat(filedir,function(eror,stats){
          if(eror){
            console.warn('获取文件stats失败');
          }else{
            var isFile = stats.isFile();//是文件
            var isDir = stats.isDirectory();//是文件夹
            if(isFile){
              console.log(filedir);
            }
            if(isDir){
              fileDisplay(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
            }
          }
        })
      });
    }
  });
}

运行结果为:

E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractCacheInvoker.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractCacheResolver.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\BasicOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheableOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\BeanFactoryCacheOperationSourceAdvisor.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractFallbackCacheOperationSource.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.CacheOperationContext.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.CacheOperationMetadata.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheErrorHandler.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheEvictOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheInterceptor.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperationInvocationContext.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperationInvoker.html
············

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网JavaScript频道,感谢您对编程网的支持。

--结束END--

本文标题: Node.js中怎么利用递归遍历文件夹

本文链接: https://lsjlt.com/news/74445.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js中怎么利用递归遍历文件夹
    Node.js中怎么利用递归遍历文件夹,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如标题所示,遍历文件夹下的所有文件,主要功...
    99+
    2024-04-02
  • 怎么在php中利用递归遍历文件夹
    今天就跟大家聊聊有关怎么在php中利用递归遍历文件夹,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源...
    99+
    2023-06-14
  • shell怎么递归遍历文件夹
    可以使用find命令来递归遍历文件夹。以下是一个示例: find /path/to/directory -type f 上面的命令...
    99+
    2024-03-07
    shell
  • Node.js 使用递归实现遍历文件夹中所有文件
    如标题所示,遍历文件夹下的所有文件,主要功能如下: 传入一个路径,读取路径里面所有的文件 遍历读取的文件,判断当前文件是文件还是文件夹 当前目录为文件,打印出当前文件绝对路径 当前目录为文件夹,获取文件夹路...
    99+
    2022-06-04
    递归 文件 遍历
  • Python怎么实现递归遍历文件夹搜索文件
    本篇内容主要讲解“Python怎么实现递归遍历文件夹搜索文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现递归遍历文件夹搜索文件”吧!开发背景:电脑的E盘里有很多电子书,以前...
    99+
    2023-06-02
  • Python实现递归遍历文件夹并删除文件
    思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹名称不等于".svn",则递归上面的方法 Py...
    99+
    2022-06-04
    递归 遍历 文件夹
  • Node.JS中怎么利用循环递归复制文件夹目录
    本篇文章为大家展示了Node.JS中怎么利用循环递归复制文件夹目录,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实现代码一:var fs &nb...
    99+
    2024-04-02
  • 使用 Python 实现文件递归遍历的
    今天有个脚本需要遍历获取某指定文件夹下面的所有文件,我记得很早前也实现过文件遍历和目录遍历的功能,于是找来看一看,嘿,不看不知道,看了吓一跳,原来之前我竟然用了这么搓的实现。 先发出来看看: def getallfiles(dir): ""...
    99+
    2023-01-31
    递归 遍历 文件
  • js中怎么递归遍历dom树
    这篇文章主要介绍了js中怎么递归遍历dom树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的...
    99+
    2023-06-14
  • 如何使用Node.js遍历文件夹详解
    目录前言获取的文件列表为数组格式获取的文件列表为对象格式异步方式比较同步和异步两种方案附node遍历文件夹并读取文件内容参考资料总结前言 最近在写一个管理 markdown 文件的工...
    99+
    2024-04-02
  • python怎么遍历文件夹
    本文小编为大家详细介绍“python怎么遍历文件夹”,内容详细,步骤清晰,细节处理妥当,希望这篇“python怎么遍历文件夹”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。本文教程操作环境:windows7系统、P...
    99+
    2023-06-30
  • java怎么遍历文件夹中的文件
    在Java中,可以使用递归或者循环来遍历文件夹中的文件。下面是两种常见的方法:1. 递归方法:```javaimport java....
    99+
    2023-10-09
    java
  • 怎么在python中遍历文件夹
    今天就跟大家聊聊有关怎么在python中遍历文件夹,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几...
    99+
    2023-06-14
  • 使用php怎么遍历文件夹
    使用php怎么遍历文件夹?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库...
    99+
    2023-06-14
  • java怎么遍历文件夹及子文件夹
    在Java中,可以使用递归方法来遍历文件夹及其子文件夹。下面是一个简单的示例代码: import java.io.File; pu...
    99+
    2024-03-14
    java
  • GO语言中怎么遍历文件夹
    这篇文章将为大家详细讲解有关GO语言中怎么遍历文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。因为文件夹下还有子文件夹,而ioutil包的ReadDir()只能获取一层目录,所以我们需要...
    99+
    2023-06-03
  • 怎么在shell中利用递归遍历目录下的所有文件并统一改名
    本篇文章为大家展示了怎么在shell中利用递归遍历目录下的所有文件并统一改名,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如何实现遍历?我们写一个函数:function travFolde...
    99+
    2023-06-09
  • python怎么遍历文件夹所有文件
    可以使用os模块来遍历文件夹中的所有文件。以下是一个示例代码:```pythonimport os# 遍历文件夹def traver...
    99+
    2023-08-12
    python
  • 怎么在VBS中利用递归创建多级目录文件夹
    今天就跟大家聊聊有关怎么在VBS中利用递归创建多级目录文件夹,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。核心代码CreateFolders "d:\jb51te...
    99+
    2023-06-08
  • golang遍历文件夹怎么实现
    在Go语言中,可以使用filepath.Walk函数来遍历文件夹。filepath.Walk函数会递归地遍历指定的文件夹及其子文件夹...
    99+
    2023-10-20
    golang
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作