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

Usage in Deno

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