1, Eröffnungsanalyse
Das Dateisystemmodul ist ein einfacher Wrapper für eine Reihe standardmäßiger POSIX-Datei-E/A-Operationsmethoden. Das Modul kann durch Aufruf von require("fs") abgerufen werden. Alle Methoden im Dateisystemmodul haben asynchrone und synchrone Versionen.
(1), die asynchrone Methode im Dateisystemmodul erfordert eine Abschlussrückruffunktion als letzten eingehenden formalen Parameter.
(2) Die Zusammensetzung der Rückruffunktion wird durch die aufgerufene asynchrone Methode bestimmt. Normalerweise sind die zurückgegebenen Fehlerinformationen der erste formale Parameter der Rückruffunktion.
(3): Wenn die asynchrone Operation korrekt ausgeführt und zurückgegeben wird, ist der Fehlerparameter null oder undefiniert. Wenn Sie die synchrone Version der Operationsmethode verwenden und ein Fehler auftritt, wird der Fehler in Form eines normalen Fehlers zurückgegeben.
(4) Sie können Try- und Catch-Anweisungen verwenden, um Fehler abzufangen und die Fortsetzung des Programms zu ermöglichen.
Sehen wir uns zunächst ein einfaches Beispiel an, das Lesen einer Datei („bb.txt“):
(1), erstellen Sie die Datei „bb.txt“ mit folgendem Inhalt („Hallo zusammen, ich bin Nobita! (*^__^*) Hee hee...“).
(2), der Dateilesevorgang ist wie folgt:
Laufergebnis:
Hier ist zu beachten: Beim Lesen von Dateien muss die Kodierung eingestellt werden, sonst erscheint sie standardmäßig in Form von „Puffer“.
Wenn man den Laufeffekt ohne Einstellungen betrachtet, ist der Unterschied immer noch offensichtlich. Wie folgt:
Lassen Sie uns einen weiteren Schreibvorgang wie folgt durchführen:
Laufergebnis:
Auflistung einiger häufig verwendeter Beispiele:
2. Die Verbindung zwischen Fs und Stream
„Stream“ hat asynchrone Eigenschaften. Wir können eine Datei oder einen Inhalt zum Lesen in unbekannte „Blöcke“ einer bestimmten Größe aufteilen und jedes Mal, wenn ein „Blöcke“ gelesen wird, geben wir ihn aus. bis die Datei gelesen ist. Dies ist wie „Transfer-Encoding: chunked“, unterstützt von „http1.1“. („Chunk“ kann in jeder Form existieren, NodeJS existiert standardmäßig in der Form von „Buffer“, was effizienter ist). „Stream“ in NodeJS hat eine Superfunktion auf Unix-Systemen („Pipe“ ------ Pipe).
Erinnern Sie sich noch an das erste NodeJS-Programm im „Http-Modul-Artikel“, „Hallo, Big Bear!“? Nehmen wir anhand dieses kleinen Programms einige Änderungen vor, wie folgt:
(1), erstellen Sie „bb.html“