Heim >Web-Frontend >js-Tutorial >Wie kann ich Dateien Zeile für Zeile in Node.js effizient lesen?
Das zeilenweise Lesen großer Dateien kann insbesondere in verschiedenen Szenarien von entscheidender Bedeutung sein wenn der Speicherverbrauch ein Problem darstellt. Node.js bietet mehrere Ansätze, um dies effizient zu erreichen.
Ab Node.js v0.12 bietet das Readline-Kernmodul eine stabile Lösung für diesen Zweck. So können Sie es verwenden:
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 }); for await (const line of rl) { console.log(`Line from file: ${line}`); } } processLineByLine();
Dieser Code erstellt einen Lesestream aus der angegebenen Datei und verwendet dann die Readline-Schnittstelle, um die Datei zu durchlaufen und jede Zeile auf der Konsole auszugeben.
Wenn Sie eine ältere Version von Node.js verwenden, können Sie die Verwendung eines Drittanbietermoduls wie Line-Reader in Betracht ziehen. Hier ist ein Beispiel:
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'); });
Dieser Code verwendet das Line-Reader-Modul, um eine Line-Reader-Schnittstelle zu erstellen, die dann zum Abhören des „line“-Ereignisses verwendet wird. Jedes Mal, wenn eine Zeile aus der Datei gelesen wird, wird der Event-Handler ausgelöst und die Zeile an die Konsole ausgegeben.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien Zeile für Zeile in Node.js effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!