Jak používat čitelné streamy v Node.js?

Jak Pouzivat Citelne Streamy V Node Js



Data jsou přenášena po síti mezi odesílatelem nebo zdrojovou a cílovou nebo přijímající stranou ve formě toků. Tyto streamy lze vytvářet a kombinovat s využitím několika metod a audio nebo video soubory mohou být také přenášeny přes stream. Načtená data lze vložit do jiných cílených souborů pomocí „ napsat() ' a ' TAM() “ také metody.

Tato příručka vysvětlí použití čitelných streamů v Node.js.

Jak používat čitelné streamy v Node.js?

' Čitelný “streamy jsou vytvořeny vyvoláním “ createReadStream() ” a načtená data pak mohou být zobrazena přes webovou stránku vytvořením lokálního serveru. Posluchači události s pomocí „ na() Metody ” lze také připojit k čitelným proudům pro zobrazení zpráv nebo provádění specifických akcí, když čtení souboru začíná nebo končí.







Podívejte se na příklad pro praktickou ukázku.



Příklad: Čtení a zobrazování obsahu na serveru pomocí čitelných proudů

V tomto příkladu se obsah poskytnutého souboru čte a poté zobrazuje přes webový prohlížeč:



konst fsObj = vyžadovat ( 'fs' ) ;

konst httpObj = vyžadovat ( 'http' ) ;

konst localServer = httpObj. createServer ( ( vyžádat odpověď ) => {

Snaž se {
// Cílený soubor ke čtení
konst datový tok = fsObj. vytvořitReadStream ( 'usecase.txt' ) ;
// Propojení souboru do odpovědi
datový tok. trubka ( Odezva ) ;
} chytit ( chyby ) {
řídicí panel. chyba ( chyby ) ;
}
} ) ;

localServer. poslouchat ( 8080 , ( ) => {
řídicí panel. log ( 'Server běží na Localhost Port Number: '8080'' )
} ) ;

Popis výše uvedeného kódu je následující:





  • Nejprve importujte požadované „ fs ' a ' http “ moduly a ukládat jejich objekty do “ fsObj ' a ' httpObj “proměnné.
  • Dále byl server vytvořen vyvoláním příkazu „ createServer() “ a uložení tohoto nově vytvořeného serveru do “ localServer “proměnná.
  • Poté použijte „ Snaž se ” zablokujte uvnitř funkce zpětného volání metody a vyvolejte funkci “ createReadStream() “ pomocí metody “ fsObj “proměnná.
  • Předejte obsah cíleného souboru, který je třeba přečíst, do závorky této metody a uložte výsledek do „ datový tok “proměnná.
  • Vložte „ datový tok 'proměnná do ' .trubka() ” způsob odeslání odpovědi.
  • Využijte „ chytit ” blok pro zpracování případných chyb.
  • Nakonec poslouchejte nebo nastavte server přes číslo portu “ 8080 “ a zobrazí zprávu o úspěchu pomocí funkce zpětného volání.

Spusťte obsahující soubor (controlFlow.js) výše uvedeného kódu, který se provádí pomocí níže uvedeného příkazu:

ovládání uzluFlow. js

Vygenerovaný výstup ukazuje, že s pomocí „ .trubka() ' a ' Čitelný stream “, data souboru byla přečtena a odeslána do cílového streamu k zobrazení na webové stránce:



Příklad 2: Čtení statických souborů lokálně pomocí ReadStream

V tomto případě se vybere poskytnutý soubor přes stream a jeho obsah se pak zobrazí v okně konzoly pomocí posluchačů událostí:

konst fsObj = vyžadovat ( 'fs' ) ;

konst streamObj = fsObj. vytvořitReadStream ( 'usecase.txt' ) ;

streamObj. na ( 'data' , ( obsah ) => {

řídicí panel. log ( obsah. toString ( ) ) ;

} ) ;

streamObj. na ( 'konec' , ( ) => {

řídicí panel. log ( ' \n Dokončeno čtení souboru.“ ) ;

} ) ;

streamObj. trubka ( proces. stdout ) ;

Popis výše uvedeného kódu je následující:

  • Za prvé, „ fs ” modul je importován a jeho objekt je uložen do “ fsObj “proměnná.
  • Dále pomocí „ fsObj “ se dovolává “ createReadStream() ” a předá cestu k cílovému souboru, jehož obsah je třeba načíst. Uložte výsledek metody do nové proměnné “ streamObj “.
  • Připojte „ na() ” metoda s “streamObj”, která vyvolá funkci zpětného volání, když “ data “ je načteno. Získaná data jsou předána jako parametr pro funkci zpětného volání, která převádí data do formátu String a zobrazuje je na konzole.
  • Znovu připojte „ na() “ metoda s “ streamObj “ a tentokrát jeho funkce zpětného volání zobrazí zprávu o ukončení, když je čtení souboru dokončeno.

Vygenerovaný výstup po provedení výše uvedeného kódu ukazuje, že přečtená data podél závěrečné zprávy byla zobrazena na konzole:

To je vše o použití čitelných streamů v Node.js.

Závěr

Chcete-li pracovat s čitelnými streamy v Node.js, metoda „ createReadStream() “ se vyvolá prostřednictvím „ fs “modulový objekt. Cílová cesta k souboru, na kterou je třeba obsah zapsat, je pak předána jako parametr metody. Lze jej použít s „ .trubka() ” metoda k provedení dalších úkolů nad načtenými daty, jako je zápis obsahu do jiného souboru. Tento příspěvek ilustroval postup práce s čitelnými streamy.