Come utilizzare i flussi leggibili in Node.js?

Come Utilizzare I Flussi Leggibili In Node Js



I dati vengono trasferiti sulla rete tra il mittente o la fonte e la destinazione o il destinatario sotto forma di flussi. Questi flussi possono essere creati e combinati utilizzando diversi metodi e anche i file audio o video possono essere passati attraverso il flusso. I dati letti possono essere inseriti in altri file di destinazione utilizzando ' scrivere() ' E ' spingere() ' anche i metodi.

Questa guida spiegherà l'utilizzo dei flussi leggibili in Node.js.

Come utilizzare i flussi leggibili in Node.js?

IL ' Leggibile I flussi vengono creati invocando il comando ' createReadStream() ' e i dati letti possono quindi essere visualizzati sulla pagina Web creando il server locale. Gli ascoltatori dell'evento con l'aiuto di “ SU() È inoltre possibile allegare metodi ai flussi leggibili per visualizzare messaggi o eseguire azioni specifiche quando inizia o termina la lettura del file.







Dai un'occhiata all'esempio per una dimostrazione pratica.



Esempio: lettura e visualizzazione di contenuto sul server utilizzando flussi leggibili

In questo esempio, il contenuto di un file fornito viene letto e quindi visualizzato nel browser web:



cost fsObj = richiedere ( 'fs' ) ;

cost httpObj = richiedere ( 'http' ) ;

cost localServer = httpObj. creareServer ( ( richiedere risposta ) => {

Tentativo {
// File mirato da leggere
cost flusso di dati = fsObj. creareReadStream ( 'usecase.txt' ) ;
// Invia il file alla risposta
flusso di dati. tubo ( risposta ) ;
} presa ( errori ) {
consolle. errore ( errori ) ;
}
} ) ;

localServer. Ascoltare ( 8080 , ( ) => {
consolle. tronco d'albero ( 'Il server è in esecuzione sul numero di porta dell'host locale: '8080' ' )
} ) ;

La descrizione del codice sopra è la seguente:





  • Innanzitutto, importa il 'richiesto' fs ' E ' http ' moduli e memorizzare i loro oggetti in ' fsObj ' E ' httpObj 'variabili rispettivamente.
  • Successivamente, il server è stato creato invocando il comando “ creaServer() ' e memorizzando questo server appena creato in un ' localServer 'variabile.
  • Quindi, utilizzare un ' Tentativo ' all'interno della funzione di callback del metodo e invocare il ' createReadStream() ' metodo utilizzando il metodo ' fsObj 'variabile.
  • Passa il contenuto del file di destinazione che deve essere letto all'interno di questa parentesi del metodo e memorizza il risultato nel campo ' flusso di dati 'variabile.
  • Inserisci il “ flusso di dati ' variabile nella ' .tubo() ' metodo per inviare la risposta.
  • Utilizza il ' presa 'blocco per gestire eventuali errori verificatisi.
  • Infine, ascolta o configura il server sul numero di porta “ 8080 ' e visualizza il messaggio di successo con l'aiuto della sua funzione di richiamata.

Esegui il file contenente (controlFlow.js) del codice precedente tramite il comando indicato di seguito:

nodo controlloFlusso. js

L'output generato mostra che con l'aiuto di ' .tubo() ' E ' Flusso leggibile ”, i dati del file sono stati letti e inviati al flusso di destinazione per essere visualizzati sulla pagina web:



Esempio 2: lettura di file statici localmente utilizzando ReadStream

In questo caso, il file fornito sullo stream viene selezionato e il suo contenuto viene quindi visualizzato nella finestra della console con l'aiuto dei listener di eventi:

cost fsObj = richiedere ( 'fs' ) ;

cost streamObj = fsObj. creareReadStream ( 'usecase.txt' ) ;

streamObj. SU ( 'dati' , ( contenuto ) => {

consolle. tronco d'albero ( contenuto. accordare ( ) ) ;

} ) ;

streamObj. SU ( 'FINE' , ( ) => {

consolle. tronco d'albero ( ' \N Ho finito di leggere il file.' ) ;

} ) ;

streamObj. tubo ( processi. stdout ) ;

La descrizione del codice sopra è la seguente:

  • Prima il ' fs ' viene importato e il suo oggetto viene memorizzato nella cartella ' fsObj 'variabile.
  • Successivamente, utilizzando “ fsObj ' invoca il ' createReadStream() ' e passa il percorso del file di destinazione il cui contenuto deve essere recuperato. Memorizza il risultato del metodo in una nuova variabile “ streamObj ”.
  • Allega il “ SU() ' con 'streamObj' che richiama una funzione di callback quando ' dati ' viene recuperato. I dati recuperati vengono passati come parametro per la funzione di callback che converte i dati in formato String e li visualizza sulla console.
  • Allega nuovamente il ' SU() ' metodo con ' streamObj ' e questa volta la sua funzione di callback visualizza un messaggio finale quando la lettura del file viene completata.

L'output generato dopo l'esecuzione del codice precedente mostra che i dati letti lungo il messaggio finale sono stati visualizzati sulla console:

Questo è tutto incentrato sull'utilizzo di flussi leggibili in Node.js.

Conclusione

Per lavorare con flussi leggibili in Node.js, il metodo di “ createReadStream() ' viene richiamato tramite il comando ' fs 'oggetto modulo. Il percorso del file di destinazione su cui deve essere scritto il contenuto viene quindi passato come parametro del metodo. Può essere utilizzato con il ' .tubo() ' Metodo per eseguire ulteriori attività sui dati recuperati come scrivere il contenuto in un altro file. Questo post ha illustrato la procedura per lavorare con flussi leggibili.