Heim > Web-Frontend > js-Tutorial > Wie kann ich eine große Textdatei effizient Zeile für Zeile in Node.js lesen?

Wie kann ich eine große Textdatei effizient Zeile für Zeile in Node.js lesen?

Linda Hamilton
Freigeben: 2024-12-07 02:35:15
Original
943 Leute haben es durchsucht

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

Textdateien Zeile für Zeile in Node.js lesen

Zeile für Zeile eine große Textdatei in Node.js lesen kann ein entscheidender Vorgang für die Verarbeitung umfangreicher Datensätze sein. Während sich die Frage, die Sie von Quora erwähnt haben, mit dem Lesen aus STDIN beschäftigt, konzentriert sich dieser Artikel auf die Ausweitung dieses Konzepts auf das Lesen aus einer Textdatei.

Der anfängliche Ansatz, der fs.open einbezieht, dient als Grundlage. Der fehlende Schritt besteht darin, das Lazy-Modul zu nutzen, um zeilenweises Lesen aus dem geöffneten Dateideskriptor durchzuführen. Seit Node.js v0.12 gibt es jedoch eine robustere Lösung mit dem integrierten Readline-Kernmodul.

Lassen Sie uns zwei Ansätze mit Readline erkunden:

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();
Nach dem Login kopieren

Alternativ Sie kann Folgendes verwenden:

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');
});
Nach dem Login kopieren

Beide Ansätze nutzen das Readline-Modul, um effektiv Zeilen nacheinander aus einer Textdatei zu lesen. Die letzte Zeile wird korrekt gelesen (ab Node v0.12 oder höher), auch wenn kein letzter Zeilenumbruch erfolgt.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage