Skip to main content
promises.readdir - node__fs.d.ts - Node documentation
function promises.readdir

Usage in Deno

```typescript import { promises } from "node:node__fs.d.ts"; ```
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. ```js 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[]>