21xrx.com
2024-12-22 22:41:55 Sunday
登录
文章检索 我的文章 写文章
Node.js实现获取文件夹下所有文件
2023-07-13 01:05:20 深夜i     --     --
Node js 获取文件夹 所有文件

Node.js 是一款非常流行的开源 JavaScript 运行环境,它具有轻量级和高效的特性,现在被广泛应用在 Web 应用程序的开发中。其中,获取文件夹下所有文件是 Node.js 中经常用到的操作之一。

Node.js 中可以使用 fs 模块来实现获取文件夹下所有文件的功能。fs 模块提供了许多文件系统相关的操作,其中包括读取文件和文件夹,创建文件和文件夹等操作。在获取文件夹下所有文件的操作中,fs 模块提供了 readdir 和 stat 方法来辅助完成操作。

首先,通过使用 readdir 方法来读取指定文件夹下所有文件的文件名。这个方法会返回一个包含所有文件名的数组。接下来,对数组进行遍历,使用 stat 方法来获取每个文件的信息,判断该文件是不是文件夹或者是普通文件,如果是文件夹则递归获取该文件夹下所有文件,如果是普通文件则将文件名存储到一个数组中返回。

下面是实现获取文件夹下所有文件的 Node.js 代码:


const fs = require('fs');

const path = require('path');

function getAllFiles(dirPath, arrayOfFiles) {

 files = fs.readdirSync(dirPath)

 arrayOfFiles = arrayOfFiles || []

 files.forEach(function(file) {

  if (fs.statSync(dirPath + "/" + file).isDirectory()) {

   arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles)

  } else {

   arrayOfFiles.push(path.join(__dirname, dirPath, "/", file))

  }

 })

 return arrayOfFiles

}

console.log(getAllFiles('./'))

在上面的代码中,首先引入了 fs 和 path 两个模块。getAllFiles 函数接受两个参数,第一个参数是指定的文件夹路径,第二个参数是一个空数组,用来存储所有文件的文件名。在函数内部,首先使用 fs.readdirSync 方法读取指定文件夹下所有文件的文件名,然后对数组进行遍历,使用 fs.statSync 方法来获取每个文件的信息。如果该文件是普通文件,则将文件名存储到 arrayOfFiles 数组中。如果该文件是文件夹,则调用递归函数 getAllFiles 来获取该文件夹下所有文件,并将结果添加到 arrayOfFiles 数组中。最后将所有文件名存储在一个数组中返回。

以上就是使用 Node.js 实现获取文件夹下所有文件的方法。通过这个方法,可以方便地获得指定文件夹下所有文件的信息,为开发者提供了方便。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复