Hvordan bruke lesbare strømmer i Node.js?

Hvordan Bruke Lesbare Strommer I Node Js



Dataene overføres over nettverket mellom sender- eller kilde- og destinasjons- eller mottakersidene i form av strømmer. Disse strømmene kan opprettes og kombineres med bruk av flere metoder, og lyd- eller videofilene kan også sendes over strømmen. Lesedataene kan settes inn i andre målrettede filer ved å bruke ' skrive() ' og ' trykk() 'metoder også.

Denne veiledningen vil forklare bruken av lesbare strømmer i Node.js.

Hvordan bruke lesbare strømmer i Node.js?

« Leselig '-strømmer opprettes ved å påkalle ' createReadStream() ” og de leste dataene kan deretter vises over nettsiden ved å opprette den lokale serveren. Arrangementslytterne ved hjelp av « på() ”-metoder kan også knyttes til de lesbare strømmene for å vise meldinger eller utføre spesifikke handlinger når lesingen av filen begynner eller slutter.







Ta en titt på eksemplet for en praktisk demonstrasjon.



Eksempel: Lese og vise innhold over server ved å bruke lesbare strømmer

I dette eksemplet blir innholdet i en gitt fil lest og deretter vist over nettleseren:



konst fsObj = krever ( 'fs' ) ;

konst httpObj = krever ( 'http' ) ;

konst lokal server = httpObj. oppretteServer ( ( forespørsel, svar ) => {

prøve {
// Målrettet fil å lese
konst data strøm = fsObj. oppretteReadStream ( 'usecase.txt' ) ;
// Pipe filen til svar
data strøm. rør ( respons ) ;
} å fange ( feil ) {
konsoll. feil ( feil ) ;
}
} ) ;

lokal server. lytte ( 8080 , ( ) => {
konsoll. Logg ( 'Tjeneren kjører på Localhost-portnummer: '8080' ' )
} ) ;

Beskrivelsen av koden ovenfor er som følger:





  • Først importerer du de nødvendige ' fs ' og ' http ' moduler og lagre objektene deres i ' fsObj ' og ' httpObj henholdsvis 'variabler.
  • Deretter har serveren blitt opprettet ved å påkalle ' createServer() '-metoden og lagre denne nyopprettede serveren i en ' lokal server variabel.
  • Bruk deretter en ' prøve ' blokker inne i metodens tilbakeringingsfunksjon og påkaller ' createReadStream() '-metoden ved å bruke ' fsObj variabel.
  • Send det målrettede filinnholdet som må leses i denne metodeparentesen og lagre resultatet i ' data strøm variabel.
  • Sett inn ' data strøm variabel inn i .rør() ' metode for å sende svaret.
  • Bruk ' å fange ' blokk for å håndtere eventuelle feil.
  • Til slutt, lytt eller sett opp serveren over portnummeret ' 8080 ” og vise suksessmeldingen ved hjelp av tilbakeringingsfunksjonen.

Kjør den inneholdende filen (controlFlow.js) av koden ovenfor som er via kommandoen nedenfor:

nodekontrollFlow. js

Den genererte utgangen viser at ved hjelp av ' .rør() ' og ' Lesbar strøm ”, er fildataene lest og sendt til destinasjonsstrømmen for å vises over nettsiden:



Eksempel 2: Lese statiske filer lokalt ved hjelp av ReadStream

I dette tilfellet velges den angitte filen over strømmen, og innholdet vises deretter over konsollvinduet ved hjelp av hendelseslyttere:

konst fsObj = krever ( 'fs' ) ;

konst streamObj = fsObj. oppretteReadStream ( 'usecase.txt' ) ;

streamObj. ( 'data' , ( innhold ) => {

konsoll. Logg ( innhold. til String ( ) ) ;

} ) ;

streamObj. ( 'slutt' , ( ) => {

konsoll. Logg ( ' \n Ferdig med å lese filen.' ) ;

} ) ;

streamObj. rør ( prosess. stdout ) ;

Beskrivelsen av koden ovenfor er som følger:

  • Først, ' fs '-modulen importeres og objektet lagres i ' fsObj variabel.
  • Deretter bruker du ' fsObj ' påkaller ' createReadStream() ”-metoden og sender banen til målfilen hvis innhold må hentes. Lagre resultatet av metoden i en ny variabel ' streamObj '.
  • Fest ' på() '-metoden med 'streamObj' som påkaller en tilbakeringingsfunksjon når ' data ' er hentet. De hentede dataene sendes som en parameter for tilbakeringingsfunksjonen som konverterer dataene til strengformat og viser dem over konsollen.
  • Fest igjen ' på() ' metode med ' streamObj ” og denne gangen viser tilbakeringingsfunksjonen en sluttmelding når lesingen av filen er fullført.

Den genererte utgangen etter utførelse av koden ovenfor viser at de leste dataene langs sluttmeldingen har blitt vist over konsollen:

Det handler om bruken av lesbare strømmer i Node.js.

Konklusjon

For å jobbe med lesbare strømmer i Node.js, metoden for ' createReadStream() ' påkalles via ' fs ” modulobjekt. Den målrettede filbanen som innholdet må skrives på, sendes deretter som metodeparameter. Den kan brukes med ' .rør() ” metode for å utføre ytterligere oppgaver over de hentede dataene som å skrive innholdet i en annen fil. Dette innlegget har illustrert prosedyren for å jobbe med lesbare strømmer.