Heim >Web-Frontend >js-Tutorial >Wie kann ich eine Datei Zeile für Zeile in Node.js lesen?

Wie kann ich eine Datei Zeile für Zeile in Node.js lesen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 22:11:13517Durchsuche

How Can I Read a File Line by Line in Node.js?

Eine Datei Zeile für Zeile in Node.js lesen

Node.js bietet effiziente Mechanismen für die zeilenweise Verarbeitung großer Dateien Zeit. Diese Funktion ist für speicherintensive Vorgänge oder beim Umgang mit Dateien, die den Serverspeicher überschreiten, unerlässlich.

Um eine Datei Zeile für Zeile in Node.js zu lesen, können Sie die folgenden Ansätze verwenden:

Verwendung des Readline-Kernmoduls (Node.js v0.12)

Node.js bietet ein Readline-Kernmodul für Seamless Dateizeileniteration. Betrachten Sie den folgenden Code:

const fs = require('fs');
const readline = require('readline');

async function processLineByLine() {
  const fileStream = fs.createReadStream('input.txt');

  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });
  // Note: we use the crlfDelay option to recognize all instances of CR LF
  // ('\r\n') in input.txt as a single line break.

  for await (const line of rl) {
    // Each line in input.txt will be successively available here as `line`.
    console.log(`Line from file: ${line}`);
  }
}

processLineByLine();

Verwendung des Pakets „readline“

Für Node.js-Versionen vor v0.12 bietet das Paket „readline“ eine Alternativlösung:

var lineReader = require('readline').createInterface({
  input: require('fs').createReadStream('file.in')
});

lineReader.on('line', function (line) {
  console.log('Line from file:', line);
});

lineReader.on('close', function () {
    console.log('all done, son');
});

Bei beiden Ansätzen wird die letzte Zeile auch ohne nachgestellten Zeilenumbruch korrekt gelesen Zeichen.

Zusätzliche Überlegungen

  • Stellen Sie sicher, dass der in „createReadStream()“ angegebene Dateipfad korrekt ist.
  • Behandeln Sie Fehler ordnungsgemäß mit Try-Catch-Blöcke oder Ereignis-Listener.
  • Das „close“-Ereignis des Readline-Moduls wird ausgegeben, wenn das Ende des Datei erreicht ist oder ein Fehler auftritt.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Datei Zeile für Zeile in Node.js lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn