Что такое потоковое чтение и запись (streams) в Node.js?
Потоки (streams) в Node.js — это интерфейсы для чтения и записи данных постепенно, без загрузки всего содержимого в память. Это особенно полезно для работы с большими файлами или потоками данных, такими как видео или большие текстовые файлы.
Короткий ответ
Потоки (streams) в Node.js — это интерфейсы для чтения и записи данных постепенно, без загрузки всего содержимого в память. Это особенно полезно для работы с большими файлами или потоками данных, такими как видео или большие текстовые файлы.
Длинный ответ
Потоки (streams) в Node.js позволяют обрабатывать данные по частям, что делает их эффективными для работы с большими объемами данных или данных, поступающих постепенно.
Потоки бывают четырех типов:
Readable (читаемые)
Writable (записываемые)
Duplex (читаемые и записываемые)
Transform (преобразующие)
Пример потокового чтения файла:
const fs = require('fs');
const readableStream = fs.createReadStream('largeFile.txt', { encoding: 'utf8' });
readableStream.on('data', (chunk) => {
console.log('Получен кусок данных:', chunk);
});
readableStream.on('end', () => {
console.log('Чтение завершено.');
});Преимущества использования потоков:
Эффективность: Позволяют обрабатывать большие объемы данных без необходимости загружать все сразу в память.
Скорость: Ускоряют обработку данных, так как можно начать обработку данных до завершения их полной загрузки.
Гибкость: Потоки позволяют обрабатывать данные из разных источников (файлы, сетевые соединения, и т.д.) одинаково.