Skip to main content
Dir - fs - Node documentation
class Dir
implements AsyncIterable<Dirent>

Usage in Deno

import { Dir } from "node:fs";

A class representing a directory stream.

Created by opendir, opendirSync, or fsPromises.opendir().

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

try {
  const dir = await opendir('./');
  for await (const dirent of dir)
    console.log(dirent.name);
} catch (err) {
  console.error(err);
}

When using the async iterator, the fs.Dir object will be automatically closed after the iterator exits.

Properties

readonly
path: string

The read-only path of this directory as was provided to opendir,opendirSync, or fsPromises.opendir().

Methods

[Symbol.asyncIterator](): AsyncIterableIterator<Dirent>

Asynchronously iterates over the directory via readdir(3) until all entries have been read.

close(): Promise<void>

Asynchronously close the directory's underlying resource handle. Subsequent reads will result in errors.

A promise is returned that will be fulfilled after the resource has been closed.

closeSync(): void

Synchronously close the directory's underlying resource handle. Subsequent reads will result in errors.

read(): Promise<Dirent | null>

Asynchronously read the next directory entry via readdir(3) as an fs.Dirent.

A promise is returned that will be fulfilled with an fs.Dirent, or null if there are no more directory entries to read.

Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. Entries added or removed while iterating over the directory might not be included in the iteration results.

read(cb: (
err: ErrnoException | null,
dirEnt: Dirent | null,
) => void
): void
readSync(): Dirent | null

Synchronously read the next directory entry as an fs.Dirent. See the POSIX readdir(3) documentation for more detail.

If there are no more directory entries to read, null will be returned.

Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. Entries added or removed while iterating over the directory might not be included in the iteration results.