Skip to main content
promises.readdir - fs - Node documentation
function promises.readdir

Usage in Deno

import { promises } from "node:fs";
readdir(
path: PathLike,
options?:
(ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| null
,
): Promise<string[]>

Reads the contents of a directory.

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.

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);
}

Parameters

path: PathLike
optional
options:
(ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| null

Return Type

Promise<string[]>

Fulfills with an array of the names of the files in the directory excluding '.' and '..'.

readdir(
path: PathLike,
options: { encoding: "buffer"; withFileTypes?: false | undefined; recursive?: boolean | undefined; } | "buffer",
): Promise<Buffer[]>

Asynchronous readdir(3) - read a directory.

Parameters

path: PathLike

A path to a file. If a URL is provided, it must use the file: protocol.

options: { encoding: "buffer"; withFileTypes?: false | undefined; recursive?: boolean | undefined; } | "buffer"

The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, 'utf8' is used.

Return Type

Promise<Buffer[]>
readdir(
path: PathLike,
options?:
(ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| null
,
): Promise<string[] | Buffer[]>

Asynchronous readdir(3) - read a directory.

Parameters

path: PathLike

A path to a file. If a URL is provided, it must use the file: protocol.

optional
options:
(ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| null

The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, 'utf8' is used.

Return Type

Promise<string[] | Buffer[]>
readdir(
path: PathLike,
options: ObjectEncodingOptions & { withFileTypes: true; recursive?: boolean | undefined; },
): Promise<Dirent[]>

Asynchronous readdir(3) - read a directory.

Parameters

path: PathLike

A path to a file. If a URL is provided, it must use the file: protocol.

options: ObjectEncodingOptions & { withFileTypes: true; recursive?: boolean | undefined; }

If called with withFileTypes: true the result data will be an array of Dirent.

Return Type

Promise<Dirent[]>
Back to top