filename or file descriptor
Asynchronously writes data to a file, replacing the file if it already exists.
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.
The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.
When file
is a filename, asynchronously writes data to the file, replacing the
file if it already exists. data
can be a string or a buffer.
When file
is a file descriptor, the behavior is similar to callingfs.write()
directly (which is recommended). See the notes below on using
a file descriptor.
The encoding
option is ignored if data
is a buffer.
The mode
option only affects the newly created file. See open for more details.
If data
is a plain object, it must have an own (not inherited) toString
function property.
import { writeFile } from 'fs';
import { Buffer } from 'buffer';
const data = new Uint8Array(Buffer.from('Hello Node.js'));
writeFile('message.txt', data, (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
If options
is a string, then it specifies the encoding:
import { writeFile } from 'fs';
writeFile('message.txt', 'Hello Node.js', 'utf8', callback);
It is unsafe to use fs.writeFile()
multiple times on the same file without
waiting for the callback.
Similarly to fs.readFile
- fs.writeFile
is a convenience method that
performs multiple write
calls internally to write the buffer passed to it.
It is possible to use an AbortSignal
to cancel an fs.writeFile()
.
Cancelation is "best effort", and some amount of data is likely still
to be written.
import { writeFile } from 'fs';
import { Buffer } from 'buffer';
const controller = new AbortController();
const { signal } = controller;
const data = new Uint8Array(Buffer.from('Hello Node.js'));
writeFile('message.txt', data, { signal }, (err) => {
// When a request is aborted - the callback is called with an AbortError
});
// When the request should be aborted
controller.abort();
Aborting an ongoing request does not abort individual operating
system requests but rather the internal buffering fs.writeFile
performs.
v0.0.67
filename or file descriptor
Asynchronously writes data to a file, replacing the file if it already exists.
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.
The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.
Generated using TypeDoc
When
file
is a filename, asynchronously writes data to the file, replacing the file if it already exists.data
can be a string or a buffer.When
file
is a file descriptor, the behavior is similar to callingfs.write()
directly (which is recommended). See the notes below on using a file descriptor.The
encoding
option is ignored ifdata
is a buffer.The
mode
option only affects the newly created file. See open for more details.If
data
is a plain object, it must have an own (not inherited)toString
function property.If
options
is a string, then it specifies the encoding:It is unsafe to use
fs.writeFile()
multiple times on the same file without waiting for the callback.Similarly to
fs.readFile
-fs.writeFile
is a convenience method that performs multiplewrite
calls internally to write the buffer passed to it.It is possible to use an
AbortSignal
to cancel anfs.writeFile()
. Cancelation is "best effort", and some amount of data is likely still to be written.Aborting an ongoing request does not abort individual operating system requests but rather the internal buffering
fs.writeFile
performs.Since
v0.0.67