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. jsVygenerovaný 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.