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

Usage in Deno

```typescript import { readFile } from "node:node__fs.d.ts"; ```
readFile(
options:
({ encoding?: null | undefined; flag?: string | undefined; } & Abortable)
| undefined
| null
,
callback: (
err: ErrnoException | null,
data: Buffer,
) => void
,
): void
Asynchronously reads the entire contents of a file. ```js import { readFile } from 'node:fs'; readFile('/etc/passwd', (err, data) => { if (err) throw err; console.log(data); }); ``` The callback is passed two arguments `(err, data)`, where `data` is the contents of the file. If no encoding is specified, then the raw buffer is returned. If `options` is a string, then it specifies the encoding: ```js import { readFile } from 'node:fs'; readFile('/etc/passwd', 'utf8', callback); ``` When the path is a directory, the behavior of `fs.readFile()` and [readFileSync](../.././node__fs.d.ts/~/readFileSync) is platform-specific. On macOS, Linux, and Windows, an error will be returned. On FreeBSD, a representation of the directory's contents will be returned. ```js import { readFile } from 'node:fs'; // macOS, Linux, and Windows readFile('', (err, data) => { // => [Error: EISDIR: illegal operation on a directory, read ] }); // FreeBSD readFile('', (err, data) => { // => null, }); ``` It is possible to abort an ongoing request using an `AbortSignal`. If a request is aborted the callback is called with an `AbortError`: ```js import { readFile } from 'node:fs'; const controller = new AbortController(); const signal = controller.signal; readFile(fileInfo[0].name, { signal }, (err, buf) => { // ... }); // When you want to abort the request controller.abort(); ``` The `fs.readFile()` function buffers the entire file. To minimize memory costs, when possible prefer streaming via `fs.createReadStream()`. Aborting an ongoing request does not abort individual operating system requests but rather the internal buffering `fs.readFile` performs.

Parameters

filename or file descriptor
options:
({ encoding?: null | undefined; flag?: string | undefined; } & Abortable)
| undefined
| null
callback: (
err: ErrnoException | null,
data: Buffer,
) => void

Return Type

void
readFile(
options: ({ encoding: BufferEncoding; flag?: string | undefined; } & Abortable) | BufferEncoding,
callback: (
err: ErrnoException | null,
data: string,
) => void
,
): void
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 file descriptor is provided, the underlying file will _not_ be closed automatically.
options: ({ encoding: BufferEncoding; flag?: string | undefined; } & Abortable) | BufferEncoding
Either the encoding for the result, or an object that contains the encoding and an optional flag. If a flag is not provided, it defaults to `'r'`.
callback: (
err: ErrnoException | null,
data: string,
) => void

Return Type

void
readFile(
options:
(
ObjectEncodingOptions
& { flag?: string | undefined; }
& Abortable
)

| BufferEncoding
| undefined
| null
,
callback: (
err: ErrnoException | null,
data: string | Buffer,
) => void
,
): void
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 file descriptor is provided, the underlying file will _not_ be closed automatically.
options:
(
ObjectEncodingOptions
& { flag?: string | undefined; }
& Abortable
)

| BufferEncoding
| undefined
| null
Either the encoding for the result, or an object that contains the encoding and an optional flag. If a flag is not provided, it defaults to `'r'`.
callback: (
err: ErrnoException | null,
data: string | Buffer,
) => void

Return Type

void
readFile(
callback: (
err: ErrnoException | null,
data: Buffer,
) => void
,
): void
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 file descriptor is provided, the underlying file will _not_ be closed automatically.
callback: (
err: ErrnoException | null,
data: Buffer,
) => void

Return Type

void