📅  最后修改于: 2023-12-03 15:17:57.866000             🧑  作者: Mango
在 Node.js 中,使用 readdir
函数可以读取目录中的所有文件和子目录。
fs.readdir(path[, options], callback)
path
:目录的路径。options
:可选参数,用于设置编码、筛选文件等。callback
:回调函数,返回读取到的文件列表或错误信息。以下示例展示了如何使用 readdir
函数读取目录下的文件列表。
const fs = require('fs');
fs.readdir('/path/to/dir', (err, files) => {
if (err) {
console.error(err);
} else {
console.log(files);
}
});
输出结果如下:
['file1.txt', 'file2.js', 'subdir']
readdir
函数的第二个参数 options
可以用于配置读取目录时的参数。
encoding
:设置编码类型,默认为 utf8
。withFileTypes
:设置为 true
时,返回一个包含文件类型的 fs.Dirent
对象数组。filter
:自定义过滤文件的回调函数,只返回符合条件的文件名。以下示例展示了如何使用 options
过滤文件。
const fs = require('fs');
const options = { filter: (file) => file.endsWith('.md') };
fs.readdir('/path/to/dir', options, (err, files) => {
if (err) {
console.error(err);
} else {
console.log(files);
}
});
输出结果只包含以 .md
结尾的文件列表。
readdir
函数有异步和同步两种调用方式。
以下示例展示了如何使用同步方式读取目录下的文件列表。
const fs = require('fs');
try {
const files = fs.readdirSync('/path/to/dir');
console.log(files);
} catch (err) {
console.error(err);
}
readdir
函数是 Node.js 中用于读取目录的函数,可用于快速获取目录下的所有文件和子目录。使用 options
可以对读取参数进行配置,异步方式通过回调函数返回读取结果,同步方式通过返回结果或抛出异常进行处理。