Usage in Deno
import { readFile } from "node:fs";
readFile(): void
Asynchronously reads the entire contents of a file.
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:
import { readFile } from 'node:fs';
readFile('/etc/passwd', 'utf8', callback);
When the path is a directory, the behavior of fs.readFile()
and 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.
import { readFile } from 'node:fs';
// macOS, Linux, and Windows
readFile('<directory>', (err, data) => {
// => [Error: EISDIR: illegal operation on a directory, read <directory>]
});
// FreeBSD
readFile('<directory>', (err, data) => {
// => null, <data>
});
It is possible to abort an ongoing request using an AbortSignal
. If a
request is aborted the callback is called with an AbortError
:
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.
path: PathOrFileDescriptor
filename or file descriptor
void
readFile(path: PathOrFileDescriptor,options: ({ encoding: BufferEncoding; flag?: string | undefined; } & Abortable) | BufferEncoding,callback: (err: ErrnoException | null,data: string,) => void,): void
Asynchronously reads the entire contents of a file.
path: PathOrFileDescriptor
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'
.
void
readFile(path: PathOrFileDescriptor,options: ()
| BufferEncoding
| undefined
| null,callback: (err: ErrnoException | null,data: string | Buffer,) => void,): void
Asynchronously reads the entire contents of a file.
path: PathOrFileDescriptor
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.
void
readFile(path: PathOrFileDescriptor,callback: (err: ErrnoException | null,data: Buffer,) => void,): void
Asynchronously reads the entire contents of a file.
path: PathOrFileDescriptor
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.
void