Hogyan használjunk olvasható adatfolyamokat a Node.js-ben?

Hogyan Hasznaljunk Olvashato Adatfolyamokat A Node Js Ben



Az adatok a hálózaton keresztül a küldő vagy a forrás és a cél vagy a fogadó oldal között folyamok formájában kerülnek átvitelre. Ezek a streamek többféle módszer felhasználásával hozhatók létre, kombinálhatók, és a hang- vagy videofájlok is átadhatók a streamen. Az olvasott adatok beilleszthetők más célfájlokba a „ ír() ” és „ nyom() ” módszerekkel is.

Ez az útmutató elmagyarázza az olvasható adatfolyamok használatát a Node.js-ben.

Hogyan használjunk olvasható adatfolyamokat a Node.js-ben?

A ' Olvasható ' streamek jönnek létre a ' CreateReadStream() ” és az olvasott adatok a helyi szerver létrehozásával megjeleníthetők a weboldalon. Az esemény hallgatói a „ tovább() ” metódusok is csatolhatók az olvasható adatfolyamokhoz, hogy üzeneteket jelenítsenek meg, vagy konkrét műveleteket hajtsanak végre a fájl olvasása megkezdésekor vagy befejezésekor.







Tekintse meg a példát a gyakorlati bemutatóhoz.



Példa: Tartalom olvasása és megjelenítése szerveren olvasható adatfolyamok használatával

Ebben a példában egy megadott fájl tartalma kerül beolvasásra, majd megjelenik a webböngészőn keresztül:



const fsObj = igényelnek ( 'fs' ) ;

const httpObj = igényelnek ( 'http' ) ;

const localServer = httpObj. CreateServer ( ( kérés, válasz ) => {

próbáld ki {
// Olvasandó célfájl
const adatfolyam = fsObj. CreateReadStream ( 'usecase.txt' ) ;
// Vezesse a fájlt a válaszhoz
adatfolyam. cső ( válasz ) ;
} fogás ( hibákat ) {
konzol. hiba ( hibákat ) ;
}
} ) ;

localServer. hallgat ( 8080 , ( ) => {
konzol. log ( 'A szerver a Localhost porton fut: '8080' )
} ) ;

A fenti kód leírása a következő:





  • Először importálja a szükséges ' fs ” és „ http ' modulokat, és tárolja objektumaikat a ' fsObj ” és „ httpObj ” változókat.
  • Ezután a szervert a „ CreateServer() ” módszerrel, és az újonnan létrehozott szervert egy „ localServer ” változó.
  • Ezután használjon egy „ próbáld ki ' blokkot a metódus visszahívási függvényében, és hívja meg a ' CreateReadStream() ' módszer a ' fsObj ” változó.
  • Adja át a célzott fájltartalmat, amelyet olvasni kell ebben a metóduszárójelben, és tárolja az eredményt a „ adatfolyam ” változó.
  • Helyezze be a „ adatfolyam ' változó a ' .cső() ” módszerrel küldje el a választ.
  • Használd a ' fogás ” blokkot az esetleges hibák kezelésére.
  • Végül hallgassa meg vagy állítsa be a szervert a portszámon keresztül 8080 ” és megjeleníti a sikerüzenetet a visszahívási funkciója segítségével.

Futtassa le a fenti kódot tartalmazó fájlt (controlFlow.js), amely az alábbi paranccsal történik:

node controlFlow. js

A generált kimenet azt mutatja, hogy a „ .cső() ” és „ Olvasható adatfolyam ', a fájl adatait beolvasták és elküldték a céladatfolyamba, hogy megjelenjenek a weboldalon:



2. példa: Statikus fájlok olvasása helyben a ReadStream használatával

Ebben az esetben a rendszer a streamen keresztül megadott fájlt választja ki, és a tartalma megjelenik a konzol ablakában az eseményfigyelők segítségével:

const fsObj = igényelnek ( 'fs' ) ;

const streamObj = fsObj. CreateReadStream ( 'usecase.txt' ) ;

streamObj. tovább ( 'adat' , ( tartalom ) => {

konzol. log ( tartalom. toString ( ) ) ;

} ) ;

streamObj. tovább ( 'vége' , ( ) => {

konzol. log ( ' \n Befejezte a fájl beolvasását. ) ;

} ) ;

streamObj. cső ( folyamat. stdout ) ;

A fenti kód leírása a következő:

  • Először is a „ fs ' modul importálva van, és az objektuma a ' fsObj ” változó.
  • Ezután használja a „ fsObj ' hívja a ' CreateReadStream() ” metódussal, és átadja annak a célfájlnak az elérési útját, amelynek tartalmát le kell kérni. Tárolja a metódus eredményét egy új változóban ' streamObj ”.
  • Csatolja a ' tovább() ” metódus a „streamObj”-vel, amely visszahívási függvényt hív meg, amikor „ adat ” lekérésre kerül. A visszakeresett adatok a visszahívási függvény paramétereként kerülnek átadásra, amely az adatokat String formátumba konvertálja, és megjeleníti a konzolon.
  • Ismét csatolja a „ tovább() ' módszer a ' streamObj ” és ezúttal a visszahívási funkciója egy befejező üzenetet jelenít meg, amikor a fájl beolvasása befejeződött.

A fenti kód végrehajtása után generált kimenet azt mutatja, hogy a befejező üzenet mellett kiolvasott adatok megjelentek a konzolon:

Ez minden az olvasható adatfolyamok használatáról a Node.js-ben.

Következtetés

A Node.js-ben olvasható adatfolyamokkal való munkához a „ CreateReadStream() ' a ' fs ” modul objektum. A megcélzott fájl elérési útja, amelyre a tartalmat írni kell, ezután metódusparaméterként kerül átadásra. Használható a ' .cső() ” metódussal további feladatokat hajthat végre a letöltött adatokon, például a tartalom írását egy másik fájlba. Ez a bejegyzés az olvasható adatfolyamokkal való munka folyamatát szemlélteti.