Streams sind eine Möglichkeit, eine Datei zu lesen und kleine Datenbrocken an den Server zu übergeben, anstatt eine Datei als Ganzes zu lesen und dann Informationen als eine Big Dateidatei an den Server zu übergeben. Dies sieht vielleicht nicht wie eine große Sache aus, aber in Wirklichkeit spart dies viel Zeit auf dem Server.
Streams in NodeJs
Streams arbeiten als Warteschlange mit Hilfe eines Puffer. Puffer arbeitet als Warteschlange, wenn Sie eine große Datenmenge von einem Punkt auf einen anderen übertragen möchten, lädt der Puffer einen Datenback und übergibt sie auf den Server und wartet darauf, dass der Server reagiert, damit er verwerfen kann Dieser Datenback aus seiner Warteschlange. Während es auf die Antwort des Servers wartet, lädt es mehr Datenbrocken basierend auf der Größe des vom Programmierer oder der Anwendung festgelegten Puffer.
Dieser gesamte Prozess, um einen Stück aus der Datei zu holen, ihn in den Puffer zu laden und dann diesen Chunk an die Anwendung \ Server zu analysieren Strom. In NodeJs gibt es drei verschiedene Arten von Streams
Lesen Sie Daten aus einer Datei über Streams in NodeJs
Um mit dem Tutorial zu beginnen, müssen Sie den Befehl im Terminal verwenden:
npm init -yDadurch wird ein neues Knotenprojekt für uns zusammen mit dem Paket erstellt.JSON -Datei in unserem Verzeichnis
Um einige Daten aus einer Datei mithilfe von NodeJS zu lesen, benötigen Sie eine Datei mit einem Text darin. Erstellen Sie daher eine neue Textdatei und platzieren Sie etwas "Lorem Ipsum" Text mit dem Lorem Ipsum -Generator.
Kopieren Sie diesen Text und platzieren Sie ihn in die Textdatei und speichern Sie die Textdatei:
Wie Sie sehen können, lautet der Name der Textdatei "meine Daten.txt". Erstellen Sie eine neue JavaScript -Datei im selben Verzeichnis und nennen Sie sie “Streamdemo.JS ”
Um einen Lese- oder Schreibstream zu erstellen, müssen wir die verwenden "Fs" Modul, das als integriertes Modul der Knotenumgebung ausgestattet ist. Um die zu enthalten fs Modul in Ihrem Programm Verwenden Sie die folgenden Codezeilen:
var fs = require ("fs");Als Nächst.JS -Datei) Verwenden der folgenden Zeile:
var myreadstream = fs.CreateReadStream (__ Dirname + '/mydata.txt');Jetzt können wir diese Variable verwenden "MyReadstream" Jedes Mal, wenn sie einen neuen Datenanteil empfängt. Verwenden Sie die folgenden Codezeilen, um das Stück jedes Mal auf die Konsole zu drucken, wenn unser Stream einen neuen Teil erhält:
MyReadstream.auf ("Daten", Funktion (Chunk)Um dieses Programm auszuführen, geben Sie im Terminal den folgenden Befehl an:
Knoten StreamdemoSie sehen die folgende Ausgabe in Ihrer Konsole:
Wie Sie sehen, konnten wir die Daten aus unserer Datei empfangen und ausdrucken. Die Daten, die wir auf der Konsole erhalten. Dies liegt daran. Alter, die Zeile des Lesestreams, der mit der folgenden Codezeile übereinstimmt:
var myreadstream = fs.CreateReadStream (__ Dirname + '/mydata.txt ', "utf8");Wie Sie sehen können, haben wir das hinzugefügt "UTF8" Codierung unseres Streams. Nun, wenn wir die Verwendung des "Knoten Streamdemo" Befehl Wir erhalten das folgende Ergebnis in unserem Terminal:
Und da, lesen wir die richtigen Daten aus der Datei und drucken sie auf die Konsole
Schreiben von Daten in eine Datei über Streams in NodeJs in eine Datei schreiben
Wir können mit dem Schreibstream in NodeJS in eine Datei schreiben, die auch mit dem Modul geliefert wird "Fs". Wir schreiben die Daten, die wir im vorherigen Abschnitt erhalten haben, und schreiben ihr eine neue Datei, die wir schreiben werden.txt
Um Daten in eine Datei zu schreiben, werden wir eine neue erstellen Schreibstream Verwenden der folgenden Codezeile:
var mywritestream = fs.Createwritestream (__ Dirname + '/wrapinme.txt ', "utf8");Wie Sie bemerken können, haben wir die bereits aufgenommen "UTF8" Codierung im Schreibstream. Um den Chunk zu schreiben, den wir von der erhalten "meine Daten" Textdatei zur neuen Datei Wir werden den folgenden Code verwenden:
MyReadstream.auf ("Daten", Funktion (Chunk)Führen Sie das Programm mit dem Befehl aus:
Knoten StreamdemoSie erhalten die folgende Ausgabe:
Wie Sie im Explorer Ihres Code -Editors sehen können, dass ein neuer Dateitext automatisch erstellt wurde und wenn Sie auf die "auf die" klicken "writeInme ” Textdatei Sie sehen die folgenden Daten in dieser Datei:
Aus dem obigen Bild ist also klar, dass wir Daten mit Streams in eine Datei schreiben konnten
Abschluss
Streams werden verwendet, um Daten zu laden zu \ von Eine Datei von \ auf die Anwendung bit für Bit oder in kleinen Stücken. Wir können Daten lesen und schreiben, indem wir Streams verwenden, die in der enthalten sind FS (Dateisystem) Modul. Das Modul des Dateisystems (FS) wird als integriertes Modul mit NodeJs ausgestattet. Es gibt drei verschiedene Arten von Streams, nämlich: lesbarer Stream, beschreibbarer Stream und der Duplex -Stream. In diesem Beitrag haben wir ein einfaches Knotenprogramm implementiert, mit dem wir Daten aus einer Datei lesen und diese mit Hilfe von Datenströmen und Puffern in eine andere Datei schreiben konnten.