📅  最后修改于: 2023-12-03 15:27:45.635000             🧑  作者: Mango
在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中读取只读目录和遍历文件列表的方法。这个方法在许多应用程序中非常有用,例如生成索引页面和读取配置文件等。