Как использовать читаемые потоки в Node.js?

Kak Ispol Zovat Citaemye Potoki V Node Js



Данные передаются по сети между отправителем или источником и стороной назначения или получателем в виде потоков. Эти потоки можно создавать и комбинировать с использованием нескольких методов, а также аудио- или видеофайлы можно передавать через поток. Прочитанные данные можно вставить в другие целевые файлы, используя « писать() ' и ' толкать() » методы тоже.

В этом руководстве объясняется использование читаемых потоков в Node.js.

Как использовать читаемые потоки в Node.js?

« Удобочитаемый Потоки создаются путем вызова метода « создатьReadStream() » и считанные данные затем можно отобразить на веб-странице, создав локальный сервер. Слушатели событий с помощью « на() К читаемым потокам также можно прикреплять методы для отображения сообщений или выполнения определенных действий, когда чтение файла начинается или заканчивается.







Взгляните на пример для практической демонстрации.



Пример. Чтение и отображение контента через сервер с использованием читаемых потоков

В этом примере содержимое предоставленного файла считывается, а затем отображается в веб-браузере:



константа фсобж '=' требовать ( 'фс' ) ;

константа httpObj '=' требовать ( 'http' ) ;

константа локальныйсервер '=' httpОбъект. создатьсервер ( ( ответ на запрос ) => {

пытаться {
// Целевой файл для чтения
константа поток данных '=' фсОбдж. создатьReadStream ( 'usecase.txt' ) ;
// Передача файла в ответ
поток данных. трубка ( ответ ) ;
} ловить ( ошибки ) {
консоль. ошибка ( ошибки ) ;
}
} ) ;

локальныйсервер. слушать ( 8080 , ( ) => {
консоль. бревно ( 'Сервер работает на локальном порту с номером: '8080'' )
} ) ;

Описание приведенного выше кода выглядит следующим образом:





  • Сначала импортируйте необходимые « фс ' и ' http ” модулей и хранить их объекты в “ фсобж ' и ' httpObj переменные соответственно.
  • Далее сервер был создан путем вызова команды « создатьСервер() » и сохранить этот вновь созданный сервер в « локальныйсервер ' переменная.
  • Затем используйте « пытаться ” внутри функции обратного вызова метода и вызвать функцию “ создатьReadStream() метод с использованием метода « фсобж ' переменная.
  • Передайте содержимое целевого файла, которое необходимо прочитать, внутри скобок этого метода и сохраните результат в файле « поток данных ' переменная.
  • Вставьте « поток данных ” в переменную “ .трубка() ” метод для отправки ответа.
  • Используйте функцию « ловить ” для обработки любых возникших ошибок.
  • Наконец, прослушайте или настройте сервер по номеру порта « 8080 » и отобразить сообщение об успехе с помощью функции обратного вызова.

Выполните файл, содержащий приведенный выше код (controlFlow.js), с помощью приведенной ниже команды:

узел управления потоком. js

Сгенерированный вывод показывает, что с помощью « .трубка() ' и ' Читабельный поток », данные файла были прочитаны и отправлены в целевой поток для отображения на веб-странице:



Пример 2. Локальное чтение статических файлов с помощью ReadStream

В этом случае в потоке выбирается предоставленный файл, а затем его содержимое отображается в окне консоли с помощью прослушивателей событий:

константа фсобж '=' требовать ( 'фс' ) ;

константа потокObj '=' фсОбдж. создатьReadStream ( 'usecase.txt' ) ;

потокОбъект. на ( 'данные' , ( содержание ) => {

консоль. бревно ( содержание. нанизывать ( ) ) ;

} ) ;

потокОбъект. на ( 'конец' , ( ) => {

консоль. бревно ( ' \п Закончил чтение файла. ) ;

} ) ;

потокОбъект. трубка ( процесс. стандартный вывод ) ;

Описание приведенного выше кода выглядит следующим образом:

  • Во-первых, « фс Модуль импортируется, а его объект сохраняется в папке « фсобж ' переменная.
  • Далее, используя « фсобж » вызывает « создатьReadStream() ” и передает путь к целевому файлу, содержимое которого необходимо получить. Сохраните результат метода в новой переменной « потокObj ».
  • Прикрепите « на() ” с “streamObj”, который вызывает функцию обратного вызова, когда “ данные » извлекается. Полученные данные передаются в качестве параметра функции обратного вызова, которая преобразует данные в формат String и отображает их на консоли.
  • Снова прикрепите « на() ” метод с “ потокObj » и на этот раз его функция обратного вызова отображает завершающее сообщение, когда чтение файла завершается.

Сгенерированный вывод после выполнения приведенного выше кода показывает, что прочитанные данные в конечном сообщении были отображены на консоли:

Вот и все, что касается использования читаемых потоков в Node.js.

Заключение

Для работы с читаемыми потоками в Node.js используется метод « создатьReadStream() ” вызывается через “ фс » объект модуля. Целевой путь к файлу, в который необходимо записать содержимое, затем передается в качестве параметра метода. Его можно использовать с помощью функции « .трубка() ” для выполнения дальнейших задач над полученными данными, таких как запись содержимого в другой файл. В этом посте проиллюстрирована процедура работы с читаемыми потоками.