Метод copyFile

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

Синтаксис

javascriptfs.copyFile(исходный файл, куда копируем, [модификаторы], [коллбэк]);

Режимы копирования

Режим Описание
fs.constants.COPYFILE_EXCL Указывает на то, что если имя файла назначения уже существует операция копирования завершится неудачно.
fs.constants.COPYFILE_FICLONE Указывает на то, что при копировании будет сделана попытка создать ссылку копирования-записи. Если платформа не поддерживает копирование при записи, то будет использован механизм резервного копирования.
fs.constants.COPYFILE_FICLONE_FORCE Указывает на то, что при копировании будет сделана попытка создать ссылку копирования-записи. Если платформа не поддерживает копирование при записи, то операция завершится неудачно.

Пример

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

javascriptimport fs from 'fs/promises';

try {
  let data = await fs.copyFile('file1.txt', 'file2.txt');
  console.log(data);
} catch (err) {
  console.log(err);
}

Пример

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

javascriptimport fs from 'fs/promises';

fs.copyFile('file1.txt', 'file2.txt').then(data => {
  console.log(data);
}).catch(err => {
  console.log(err);
});

Пример

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

javascriptimport fs from 'fs';

fs.copyFile('file1.txt', 'file2.txt', function(err, data) {
  if (!err) {
    console.log(data);
  } else {
    console.log(err);
  }
});

Пример

Теперь давайте синхронно скопируем файл через copyFileSync:

javascriptimport fs from 'fs';

try {
  let text = fs.copyFileSync('file1.txt', 'file2.txt');
  console.log(text);
} catch (err) {
  console.log(err);
}

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

  • метод cp,
    который копирует папку
  • метод appendFile,
    который добавляет данные в файл