📜  节点中的只读目录 - Javascript (1)

📅  最后修改于: 2023-12-03 15:27:45.635000             🧑  作者: Mango

节点中的只读目录 - JavaScript

在Node.js中,文件系统模块fs可以让我们在程序中访问文件系统,包括创建、读取、更新和删除文件和目录。

其中一项非常有用的功能是读取目录中的文件列表。本文将介绍如何读取并遍历只读目录中的文件列表。

检查是否为目录

在开始读取目录之前,需要确保正在访问的路径是目录。这可以使用fs模块的fs.stat方法实现。如果路径是目录,则stats.isDirectory()方法返回true。否则,它返回false

const fs = require('fs');

fs.stat('/path/to/dir', (err, stats) => {
  if(err) {
    console.error(err);
    return;
  }

  if(stats.isDirectory()) {
    console.log('Path is a directory');
  } else {
    console.log('Path is not a directory');
  }
});
读取目录

要读取目录中的文件列表,可以使用fs.readdir方法。这个方法有两个参数 - 目录的路径和回调函数。回调函数有两个参数 - 错误和文件列表数组。

const fs = require('fs');

fs.readdir('/path/to/dir', (err, files) => {
  if(err) {
    console.error(err);
    return;
  }

  console.log(files);
});
遍历目录

要通过目录中的文件列表进行遍历,可以使用JavaScript的for...of循环。

const fs = require('fs');

fs.readdir('/path/to/dir', (err, files) => {
  if(err) {
    console.error(err);
    return;
  }

  for(const file of files) {
    console.log(file);
  }
});

如果要过滤文件列表中的文件,可以使用JavaScript的Array.prototype.filter()方法。

const fs = require('fs');

fs.readdir('/path/to/dir', (err, files) => {
  if(err) {
    console.error(err);
    return;
  }

  const filteredFiles = files.filter(file => /\.txt$/.test(file));

  for(const file of filteredFiles) {
    console.log(file);
  }
});

以上就是如何在JavaScript中读取只读目录和遍历文件列表的方法。这个方法在许多应用程序中非常有用,例如生成索引页面和读取配置文件等。