Jump to headingreadFile(path: PathLike | FileHandle,): 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 Jump to heading
Jump to headingpath: PathLike | FileHandle
filename or FileHandle
Jump to headingoptions: ({ encoding?: null | undefined; flag?: OpenMode | undefined; } & Abortable) | null
Return Type Jump to heading
Promise<Buffer>
Fulfills with the contents of the file.
Jump to headingreadFile(path: PathLike | FileHandle,): Promise<string>
Asynchronously reads the entire contents of a file.
Parameters Jump to heading
Jump to headingpath: PathLike | FileHandle
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.
Jump to headingoptions: ({ 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 Jump to heading
Promise<string>
Jump to headingreadFile(path: PathLike | FileHandle,options?: ,): Promise<string | Buffer>
Asynchronously reads the entire contents of a file.
Parameters Jump to heading
Jump to headingpath: PathLike | FileHandle
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.
Jump to headingoptions:
An object that may contain an optional flag.
If a flag is not provided, it defaults to 'r'
.
Return Type Jump to heading
Promise<string | Buffer>