fs.readdir()方法用于异步读取给定目录的内容。此方法的回调返回目录中所有文件名的数组。 options参数可用于更改从方法返回文件的格式。
用法:
fs.readdir( path, options, callback )
参数:此方法接受上述和以下所述的三个参数:
- path:它保存必须从中读取内容的目录路径。它可以是字符串,缓冲区或URL。
- options:它是一个对象,可用于指定将影响方法的可选参数。它具有两个可选参数:
- encoding:它是一个字符串值,该字符串值指定给回调参数指定的文件名使用哪种编码。默认值为“ utf8”。
- withFileTypes:这是一个布尔值,它指定是否将文件作为fs.Dirent对象返回。默认值为“ false”。
- callback:执行该方法时将调用该函数。
- err:如果操作失败,将引发此错误。
- files:它是包含目录中文件的String,Buffer或fs.Dirent对象的数组。
以下示例说明了Node.js中的fs.readdir()方法:
范例1:本示例使用fs.readdir()方法返回目录中的文件名或文件对象。
// Node.js program to demonstrate the
// fs.readdir() method
// Import the filesystem module
const fs = require('fs');
// Function to get current filenames
// in directory
fs.readdir(__dirname, (err, files) => {
if (err)
console.log(err);
else {
console.log("\nCurrent directory filenames:");
files.forEach(file => {
console.log(file);
})
}
})
// Function to get current filenames
// in directory with "withFileTypes"
// set to "true"
fs.readdir(__dirname,
{ withFileTypes:true },
(err, files) => {
console.log("\nCurrent directory files:");
if (err)
console.log(err);
else {
files.forEach(file => {
console.log(file);
})
}
})
输出:
Current directory filenames: index.js package.json text_file_a.txt text_file_b.txt Current directory files: Dirent { name:'index.js', [Symbol(type)]:1 } Dirent { name:'package.json', [Symbol(type)]:1 } Dirent { name:'text_file_a.txt', [Symbol(type)]:1 } Dirent { name:'text_file_b.txt', [Symbol(type)]:1 }
范例2:本示例使用fs.readdir()方法仅返回扩展名为“.txt”的文件名。
// Node.js program to demonstrate the
// fs.readdir() method
// Import the filesystem module
const fs = require('fs');
const path = require('path');
// Function to get current filenames
// in directory with specific extension
fs.readdir(__dirname, (err, files) => {
if (err)
console.log(err);
else {
console.log("\Filenames with the .txt extension:");
files.forEach(file => {
if (path.extname(file) == ".txt")
console.log(file);
})
}
})
输出:
Filenames with the .txt extension: text_file_a.txt text_file_b.txt
参考: https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback
相关用法
- Node.js GM equalize()用法及代码示例
- Node.js GM paint()用法及代码示例
- Node.js GM edge()用法及代码示例
- Node.js GM implode()用法及代码示例
- Node.js GM recolor()用法及代码示例
- Node.js GM randomThreshold()用法及代码示例
- Node.js GM orderedDither()用法及代码示例
- Node.js GM drawLine()用法及代码示例
- Node.js GM drawCircle()用法及代码示例
- Node.js GM drawEllipse()用法及代码示例
注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 Node.js | fs.readdir() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。