📅  最后修改于: 2023-12-03 14:44:38.691000             🧑  作者: Mango
在 Node.js 中,fs.readdirSync() 是一个用于同步读取目录内容的方法。它以路径作为参数,并返回该路径下所有文件和文件夹的名称数组。
fs.readdirSync(path[, options])
该方法返回一个包含目录内所有文件名或文件夹名称的数组,如果目录为空,则返回空数组。
下面是一个使用 fs.readdirSync() 方法读取目录的示例:
const fs = require("fs");
const files = fs.readdirSync("/path/to/directory");
console.log(files);
上面的代码会读取 /path/to/directory
目录下的所有文件和文件夹的名称,并将其存储在 files
变量中。最后,使用 console.log()
将其输出。
options
参数是一个可选的对象,可以包含以下属性:
utf8
。true
,则返回的数组元素会包含文件名和文件类型。默认为 false
。例如,如果你只想读取某个目录下的文件名,并且文件名中包含中文,那么可以使用以下代码:
const files = fs.readdirSync("/path/to/directory", { encoding: "utf8" });
console.log(files);
如果在读取目录时发生错误,fs.readdirSync() 方法会抛出一个异常。
举个例子,如果你尝试读取一个不存在的目录,将会出现以下错误:
const fs = require("fs");
try {
const files = fs.readdirSync("/path/to/nonexistent/directory");
console.log(files);
} catch (err) {
console.error(err);
}
在上面的代码中,我们在 try
块中调用了 fs.readdirSync()
方法来读取目录。但由于目录不存在,该方法会抛出一个异常。为了处理这个异常,我们使用了一个 catch
块来捕捉它,并使用 console.error()
将错误信息输出到控制台。