Oбъяснитe разницу между readFile и createReadStream в Node.js?
Этот вопрос проверяет понимание работы с файлами и разницу между чтением целого файла и потоковым чтением.
Короткий ответ
readFile читает весь файл в память сразу, а createReadStream читает файл построчно или по частям в виде потока данных.
Длинный ответ
- fs.readFile: Загружает весь файл в память. Это может вызвать проблемы с большими файлами, так как потребляется много памяти.
- fs.createReadStream: Читает файл по частям (потоками). Это эффективно для больших файлов, так как данные читаются и обрабатываются по кускам.
Пример readFile:
const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});Пример createReadStream:
const fs = require('fs');
const stream = fs.createReadStream('example.txt', 'utf8');
stream.on('data', (chunk) => {
console.log('Часть данных:', chunk);
});