fsPromises.readdir(path[, options])


  • path <string> | <Buffer> | <URL>

  • options <string> | <Object>

    • encoding <string> 默认值:'utf8'

      ¥encoding <string> Default: 'utf8'

    • withFileTypes <boolean> 默认值:false

      ¥withFileTypes <boolean> Default: false

    • recursive <boolean> 如果是 true,则递归读取目录的内容。在递归模式下,它将列出所有文件、子文件和目录。默认值:false

      ¥recursive <boolean> If true, reads the contents of a directory recursively. In recursive mode, it will list all files, sub files, and directories. Default: false.

  • 返回:<Promise> 使用目录中文件的名称数组(不包括 '.''..')履行。

    ¥Returns: <Promise> Fulfills with an array of the names of the files in the directory excluding '.' and '..'.

读取目录的内容。

¥Reads the contents of a directory.

可选的 options 参数可以是指定编码的字符串,也可以是具有 encoding 属性(指定用于文件名的字符编码)的对象。如果 encoding 设置为 'buffer',则返回的文件名将作为 <Buffer> 对象传入。

¥The optional options argument can be a string specifying an encoding, or an object with an encoding property specifying the character encoding to use for the filenames. If the encoding is set to 'buffer', the filenames returned will be passed as <Buffer> objects.

如果 options.withFileTypes 设置为 true,则返回的数组将包含 <fs.Dirent> 个对象。

¥If options.withFileTypes is set to true, the returned array will contain <fs.Dirent> objects.

import { readdir } from 'node:fs/promises';

try {
  const files = await readdir(path);
  for (const file of files)
    console.log(file);
} catch (err) {
  console.error(err);
}