Function writeFile

  • Asynchronously writes data to a file, replacing the file if it already exists.data can be a string, a buffer, an AsyncIterable or Iterable object.

    The encoding option is ignored if data is a buffer.

    If options is a string, then it specifies the encoding.

    The mode option only affects the newly created file. See fs.open() for more details.

    Any specified FileHandle has to support writing.

    It is unsafe to use fsPromises.writeFile() multiple times on the same file without waiting for the promise to be settled.

    Similarly to fsPromises.readFile - fsPromises.writeFile is a convenience method that performs multiple write calls internally to write the buffer passed to it. For performance sensitive code consider using fs.createWriteStream() or filehandle.createWriteStream().

    It is possible to use an AbortSignal to cancel an fsPromises.writeFile(). Cancelation is "best effort", and some amount of data is likely still to be written.

    import { writeFile } from 'fs/promises';
    import { Buffer } from 'buffer';

    try {
    const controller = new AbortController();
    const { signal } = controller;
    const data = new Uint8Array(Buffer.from('Hello Node.js'));
    const promise = writeFile('message.txt', data, { 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.writeFile performs.

    Parameters

    • file: PathLike | FileHandle

      filename or FileHandle

    • data: string | ArrayBufferView | Iterable<string | ArrayBufferView> | AsyncIterable<string | ArrayBufferView> | Stream
    • Optional options: BufferEncoding | ObjectEncodingOptions & {
          flag?: OpenMode;
          mode?: Mode;
      } & Abortable

    Returns Promise<void>

    Fulfills with undefined upon success.

    Since

    v10.0.0

Generated using TypeDoc