21xrx.com
2024-12-22 21:33:08 Sunday
登录
文章检索 我的文章 写文章
NodeJS读取目录
2023-07-02 18:27:49 深夜i     --     --
NodeJS 读取 目录 文件 文件夹

随着互联网的快速发展,JavaScript成为了前端开发的重要语言。而NodeJS则将JavaScript带入了服务器端,为后端开发带来了全新的思路和方式。在NodeJS中,读取文件是比较常见的操作,而读取目录则是一种更加灵活的操作方式,可以让我们更加自由地获取文件路径。

一、NodeJS读取目录的基本操作

在NodeJS中,我们可以通过使用fs模块中的readdirSync(filePath)方法来读取指定目录下的所有文件。其中filePath是要读取的目录路径。

例如,我们要读取“D:\nodejs\test”目录下的所有文件,可以使用如下代码:


const fs = require('fs');

const path = require('path');

const filePath = 'D:\\nodejs\\test';

const files = fs.readdirSync(filePath);

console.log(files);

执行以上代码,我们就可以打印出该目录下的所有文件名称,如下所示:


[

 'test.txt',

 'test1.txt',

 'dir1',

 'dir2',

 'dir3'

]

在上面的代码中,我们通过path模块来处理了目录路径,将路径转义成了“D:\\nodejs\\test”。

二、读取指定类型文件

有时候我们只需要读取一类文件,例如只需要读取所有的jpg或txt文件,那么我们可以使用如下代码:


const fs = require('fs');

const path = require('path');

function readFilesWithType(directoryPath, fileType) {

 fs.readdirSync(directoryPath).forEach((file) => {

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

  const stat = fs.statSync(filePath);

  if (stat.isFile() && path.extname(filePath) === fileType) {

   console.log(filePath);

  } else if (stat.isDirectory()) {

   readFilesWithType(filePath, fileType);

  }

 });

}

readFilesWithType('D:\\nodejs\\test', '.txt');

以上代码可以将指定目录下所有的.txt文件输出。

三、输出目录下所有文件的详细信息

除了读取文件名外,我们还可以获取文件的详细信息,例如文件大小、创建时间、修改时间等。使用如下代码即可:


const fs = require('fs');

const path = require('path');

function readFilesDetail(directoryPath) {

 fs.readdirSync(directoryPath).forEach((file) => {

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

  const stat = fs.statSync(filePath);

  console.log('======== 文件信息 start ========');

  console.log(`文件名: ${file}`);

  console.log(`文件路径: ${filePath}`);

  console.log(`文件大小: ${stat.size}bytes`);

  console.log(`创建时间: ${stat.birthtime}`);

  console.log(`修改时间: ${stat.mtime}`);

  console.log('======== 文件信息 end ========');

  if (stat.isDirectory()) {

   readFilesDetail(filePath);

  }

 });

}

readFilesDetail('D:\\nodejs\\test');

在执行以上代码之后,我们就可以获取到该目录下所有文件的详细信息。

总结

NodeJS提供了丰富的文件操作API,通过读取目录等操作可以帮助我们更好的管理文件和文件夹。以上代码可以作为日常开发中读取目录的参考。

  
  

评论区

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