deno.com
function readFile
#readFile(
options?: ({ encoding?: null | undefined; flag?: OpenMode | undefined; } & Abortable) | null,
): Promise<Buffer>

Asynchronously reads the entire contents of a file.

If no encoding is specified (using options.encoding), the data is returned as a Buffer object. Otherwise, the data will be a string.

If options is a string, then it specifies the encoding.

When the path is a directory, the behavior of fsPromises.readFile() is platform-specific. On macOS, Linux, and Windows, the promise will be rejected with an error. On FreeBSD, a representation of the directory's contents will be returned.

An example of reading a package.json file located in the same directory of the running code:

import { readFile } from 'node:fs/promises';
try {
  const filePath = new URL('./package.json', import.meta.url);
  const contents = await readFile(filePath, { encoding: 'utf8' });
  console.log(contents);
} catch (err) {
  console.error(err.message);
}

It is possible to abort an ongoing readFile using an AbortSignal. If a request is aborted the promise returned is rejected with an AbortError:

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

try {
  const controller = new AbortController();
  const { signal } = controller;
  const promise = readFile(fileName, { signal });

  // Abort the request before the promise settles.
  controller.abort();

  await promise;
} catch (err) {
  // When a request is aborted - err is an AbortError
  console.error(err);
}

Aborting an ongoing request does not abort individual operating system requests but rather the internal buffering fs.readFile performs.

Any specified FileHandle has to support reading.

Parameters #

filename or FileHandle

optional
#options: ({ encoding?: null | undefined; flag?: OpenMode | undefined; } & Abortable) | null

Return Type #

Promise<Buffer>

Fulfills with the contents of the file.

#readFile(
options: ({ encoding: BufferEncoding; flag?: OpenMode | undefined; } & Abortable) | BufferEncoding,
): Promise<string>

Asynchronously reads the entire contents of a file.

Parameters #

A path to a file. If a URL is provided, it must use the file: protocol. If a FileHandle is provided, the underlying file will not be closed automatically.

#options: ({ encoding: BufferEncoding; flag?: OpenMode | undefined; } & Abortable) | BufferEncoding

An object that may contain an optional flag. If a flag is not provided, it defaults to 'r'.

Return Type #

Promise<string>
#readFile(
options?:
(
ObjectEncodingOptions
& Abortable
& { flag?: OpenMode | undefined; }
)

| BufferEncoding
| null
,
): Promise<string | Buffer>

Asynchronously reads the entire contents of a file.

Parameters #

A path to a file. If a URL is provided, it must use the file: protocol. If a FileHandle is provided, the underlying file will not be closed automatically.

optional
#options:
(
ObjectEncodingOptions
& Abortable
& { flag?: OpenMode | undefined; }
)

| BufferEncoding
| null

An object that may contain an optional flag. If a flag is not provided, it defaults to 'r'.

Return Type #

Promise<string | Buffer>