Jak korzystać z czytelnych strumieni w Node.js?

Jak Korzystac Z Czytelnych Strumieni W Node Js



Dane są przesyłane siecią pomiędzy nadawcą lub stroną źródłową a docelową lub odbiorczą w postaci strumieni. Strumienie te można tworzyć i łączyć na kilka sposobów, a także przesyłać w strumieniu pliki audio lub wideo. Odczytane dane można wstawić do innych docelowych plików za pomocą „ pisać() ' I ' naciskać() również metody.

W tym przewodniku wyjaśniono użycie czytelnych strumieni w Node.js.

Jak korzystać z czytelnych strumieni w Node.js?

Czytelny ” strumienie są tworzone poprzez wywołanie „ utwórzReadStream() ”, a odczytane dane można następnie wyświetlić na stronie internetowej, tworząc serwer lokalny. Słuchacze wydarzeń za pomocą „ NA() ” można także dołączyć do czytelnych strumieni, aby wyświetlać komunikaty lub wykonywać określone akcje, gdy rozpoczyna się lub kończy czytanie pliku.







Spójrz na przykład, aby zobaczyć praktyczną demonstrację.



Przykład: odczytywanie i wyświetlanie treści na serwerze przy użyciu czytelnych strumieni

W tym przykładzie zawartość udostępnionego pliku jest odczytywana, a następnie wyświetlana w przeglądarce internetowej:



konst fsObj = wymagać ( „fs” ) ;

konst httpObj = wymagać ( „http” ) ;

konst serwer lokalny = httpObj. utwórz serwer ( ( wymagać odpowiedzi ) => {

próbować {
// Docelowy plik do odczytania
konst strumień danych = fsObj. utwórzReadStream ( „usecase.txt” ) ;
// Prześlij plik do odpowiedzi
strumień danych. rura ( odpowiedź ) ;
} złapać ( błędy ) {
konsola. błąd ( błędy ) ;
}
} ) ;

serwer lokalny. Słuchać ( 8080 , ( ) => {
konsola. dziennik ( 'Serwer działa na numerze portu Localhost: '8080' ' )
} ) ;

Opis powyższego kodu wygląda następująco:





  • Najpierw zaimportuj wymagane „ fs ' I ' http ” moduły i przechowują ich obiekty w „ fsObj ' I ' httpObj odpowiednio zmienne.
  • Następnie utworzono serwer, wywołując opcję „ utwórz serwer() ” i zapisanie nowo utworzonego serwera w „ serwer lokalny ' zmienny.
  • Następnie użyj „ próbować ” wewnątrz funkcji wywołania zwrotnego metody i wywołaj „ utwórzReadStream() ” metodą „ fsObj ' zmienny.
  • Przekaż docelową zawartość pliku, którą należy odczytać w nawiasie tej metody i zapisz wynik w polu „ strumień danych ' zmienny.
  • Wstaw „ strumień danych ” zmienna do „ .rura() ” metoda wysłania odpowiedzi.
  • Skorzystaj z „ złapać ” do obsługi wszelkich występujących błędów.
  • Na koniec nasłuchuj lub skonfiguruj serwer na numerze portu „ 8080 ” i wyświetl komunikat o powodzeniu za pomocą funkcji wywołania zwrotnego.

Wykonaj plik zawierający (controlFlow.js) powyższy kod za pomocą poniższego polecenia:

przepływ kontroli węzła. js

Wygenerowane dane wyjściowe pokazują, że za pomocą „ .rura() ' I ' Czytelny strumień ”, dane pliku zostały odczytane i wysłane do strumienia docelowego w celu wyświetlenia na stronie:



Przykład 2: Lokalne odczytywanie plików statycznych przy użyciu funkcji ReadStream

W tym przypadku wybierany jest plik dostarczony w strumieniu, a jego zawartość jest następnie wyświetlana w oknie konsoli za pomocą detektorów zdarzeń:

konst fsObj = wymagać ( „fs” ) ;

konst strumieńObj = fsObj. utwórzReadStream ( „usecase.txt” ) ;

strumieńObj. NA ( 'dane' , ( treść ) => {

konsola. dziennik ( treść. doString ( ) ) ;

} ) ;

strumieńObj. NA ( 'koniec' , ( ) => {

konsola. dziennik ( ' \N Skończyłem czytać plik. ) ;

} ) ;

strumieńObj. rura ( proces. standardowe wyjście ) ;

Opis powyższego kodu wygląda następująco:

  • Po pierwsze ' fs ” moduł jest importowany, a jego obiekt jest zapisywany w „ fsObj ' zmienny.
  • Następnie za pomocą „ fsObj ” przywołuje „ utwórzReadStream() ” i przekazuje ścieżkę docelowego pliku, którego zawartość ma zostać pobrana. Zapisz wynik metody w nowej zmiennej „ strumieńObj ”.
  • Dołącz „ NA() ” z „streamObj”, która wywołuje funkcję zwrotną, gdy „ dane ” zostaje odzyskany. Pobrane dane są przekazywane jako parametr funkcji wywołania zwrotnego, która konwertuje dane do formatu String i wyświetla je w konsoli.
  • Ponownie dołącz „ NA() ” metoda z „ strumieńObj ” i tym razem funkcja wywołania zwrotnego wyświetla komunikat końcowy po zakończeniu odczytu pliku.

Wygenerowane wyjście po wykonaniu powyższego kodu pokazuje, że odczytane dane wraz z komunikatem końcowym zostały wyświetlone na konsoli:

To wszystko na temat wykorzystania czytelnych strumieni w Node.js.

Wniosek

Aby pracować z czytelnymi strumieniami w Node.js, należy zastosować metodę „ utwórzReadStream() ” wywoływane jest za pomocą przycisku „ fs ” obiekt modułu. Docelowa ścieżka pliku, na którym ma zostać zapisana treść, jest następnie przekazywana jako parametr metody. Można go używać z opcją „ .rura() ” w celu wykonania dalszych zadań na pobranych danych, takich jak zapisanie zawartości w innym pliku. W tym poście przedstawiono procedurę pracy z czytelnymi strumieniami.