# Метод appendFile

Метод `appendFile` добавляет данные в файл. Если же файла нет, то он будет создан. В первом параметре передаем путь к файлу, в которых хотим добавить данные, во втором параметре - данные, в третьем необязательном параметре - объект с опциями, в четвертом необязательном - коллбэк.

## Синтаксис

`fs.appendFile(файл, данные, [опции], [коллбэк]);`

## Объект с опциями

Опция | Описание
--- | ---
`flags` | Задают режим для чтения файла. По умолчанию его значение `'r'` - только для чтения.
`encoding` | Режим кодировки данных. Значение по умолчанию `null`.
`mode` | Режим доступа. Значение по умолчанию `0o666`.

## Пример

Давайте асинхронно добавим данные к файлу через `await`:

`import fs from 'fs/promises'; try { let data = await fs.appendFile('file.txt', 'text'); console.log(data); } catch (err) { console.log(err); }`

## Пример

Давайте асинхронно добавим данные к файлу через `then`:

`import fs from 'fs/promises'; fs.appendFile('file.txt', 'text').then(data => { console.log(data); }).catch(err => { console.log(err); });`

## Пример

Давайте асинхронно добавим данные к файлу через коллбэк:

`import fs from 'fs'; fs.appendFile('file.txt', 'text', function(err, data) { if (!err) { console.log(data); } else { console.log(err); } });`

## Пример

Давайте синхронно добавим данные к файлу через `appendFileSync`:

`import fs from 'fs'; try { let text = fs.appendFileSync('file.txt', 'text'); console.log(text); } catch (err) { console.log(err); }`

## Смотрите также

- метод `write`,
  который записывает данные в файл через буфер или строку
- метод `copyFile`,
  который копирует файл
- метод `createWriteStream`,
  который открывает поток для записи данных

← →
↑