Чтобы скопировать файл в Node.js, вы можете использовать несколько методов. Вот несколько примеров:
-
Использование модуля
fs
:const fs = require('fs'); // Copy file synchronously fs.copyFileSync('source.txt', 'destination.txt'); // Copy file asynchronously fs.copyFile('source.txt', 'destination.txt', (err) => { if (err) throw err; console.log('File copied successfully!'); });
Метод
fs.copyFileSync
копирует файл синхронно, аfs.copyFile
копирует файл асинхронно и предоставляет функцию обратного вызова для обработки любых ошибок. -
Использование модуля
fs-extra
:
Модульfs-extra
— это популярный пакет, предоставляющий дополнительные утилиты файловой системы. Он предлагает простой метод копирования файлов:const fs = require('fs-extra'); // Copy file fs.copy('source.txt', 'destination.txt') .then(() => console.log('File copied successfully!')) .catch(err => console.error(err));
-
Использование потоков.
Потоки позволяют эффективно копировать большие файлы по частям. Вот пример использования встроенного модуляstream
:const fs = require('fs'); const sourceStream = fs.createReadStream('source.txt'); const destinationStream = fs.createWriteStream('destination.txt'); sourceStream.pipe(destinationStream) .on('finish', () => console.log('File copied successfully!')) .on('error', err => console.error(err));
В этом методе из исходного файла создается поток, доступный для чтения, и поток, доступный для записи, для файла назначения. Метод
pipe
используется для передачи данных из исходного потока в целевой поток.