Usage in Deno
import { readFile } from "node:fs/promises";
readFile(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.
path: PathLike | FileHandle
filename or FileHandle
Promise<Buffer>
Fulfills with the contents of the file.
readFile(path: PathLike | FileHandle,): Promise<string>
Asynchronously reads the entire contents of a file.
path: 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.
Promise<string>
readFile(path: PathLike | FileHandle,options?: ,): Promise<string | Buffer>
Asynchronously reads the entire contents of a file.
path: 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.
Promise<string | Buffer>