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

Usage in Deno

import { readdir } from "node:fs";
readdir(
path: PathLike,
options:
{ encoding: BufferEncoding | null; withFileTypes?: false | undefined; recursive?: boolean | undefined; }
| BufferEncoding
| undefined
| null
,
callback: (
err: ErrnoException | null,
files: string[],
) => void
,
): void

Reads the contents of a directory. The callback gets two arguments (err, files) where files is an array of the names of the files in the directory excluding '.' and '..'.

See the POSIX readdir(3) documentation for more details.

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 passed to the callback. If the encoding is set to 'buffer', the filenames returned will be passed as Buffer objects.

If options.withFileTypes is set to true, the files array will contain fs.Dirent objects.

Parameters

path: PathLike
options:
{ encoding: BufferEncoding | null; withFileTypes?: false | undefined; recursive?: boolean | undefined; }
| BufferEncoding
| undefined
| null
callback: (
err: ErrnoException | null,
files: string[],
) => void

Return Type

void
readdir(
path: PathLike,
options: { encoding: "buffer"; withFileTypes?: false | undefined; recursive?: boolean | undefined; } | "buffer",
callback: (
err: ErrnoException | null,
files: Buffer[],
) => void
,
): void

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.

callback: (
err: ErrnoException | null,
files: Buffer[],
) => void

Return Type

void
readdir(
path: PathLike,
options:
(ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| undefined
| null
,
callback: (
err: ErrnoException | null,
files: string[] | Buffer[],
) => void
,
): void

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?: false | undefined; recursive?: boolean | undefined; })
| BufferEncoding
| undefined
| null

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

callback: (
err: ErrnoException | null,
files: string[] | Buffer[],
) => void

Return Type

void
readdir(
path: PathLike,
callback: (
err: ErrnoException | null,
files: string[],
) => void
,
): void

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.

callback: (
err: ErrnoException | null,
files: string[],
) => void

Return Type

void
readdir(
path: PathLike,
options: ObjectEncodingOptions & { withFileTypes: true; recursive?: boolean | undefined; },
callback: (
err: ErrnoException | null,
files: Dirent[],
) => void
,
): void

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.

callback: (
err: ErrnoException | null,
files: Dirent[],
) => void

Return Type

void