Heim >Web-Frontend >js-Tutorial >Wie kann ich eine Datei Zeile für Zeile in Node.js lesen?
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
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!