Skip to main content
appendFile - fs - Node documentation
function appendFile

Usage in Deno

import { appendFile } from "node:fs";
appendFile(
data: string | Uint8Array,
callback: NoParamCallback,
): void

Asynchronously append data to a file, creating the file if it does not yet exist. data can be a string or a Buffer.

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

import { appendFile } from 'node:fs';

appendFile('message.txt', 'data to append', (err) => {
  if (err) throw err;
  console.log('The "data to append" was appended to file!');
});

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

import { appendFile } from 'node:fs';

appendFile('message.txt', 'data to append', 'utf8', callback);

The path may be specified as a numeric file descriptor that has been opened for appending (using fs.open() or fs.openSync()). The file descriptor will not be closed automatically.

import { open, close, appendFile } from 'node:fs';

function closeFd(fd) {
  close(fd, (err) => {
    if (err) throw err;
  });
}

open('message.txt', 'a', (err, fd) => {
  if (err) throw err;

  try {
    appendFile(fd, 'data to append', 'utf8', (err) => {
      closeFd(fd);
      if (err) throw err;
    });
  } catch (err) {
    closeFd(fd);
    throw err;
  }
});

Parameters

filename or file descriptor

data: string | Uint8Array
callback: NoParamCallback

Return Type

void
appendFile(
data: string | Uint8Array,
callback: NoParamCallback,
): void

Asynchronously append data to a file, creating the file if it does not exist.

Parameters

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.

data: string | Uint8Array

The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string.

callback: NoParamCallback

Return Type

void