Maison >interface Web >js tutoriel >Comment puis-je lire un fichier ligne par ligne dans Node.js ?
Lire un fichier une ligne à la fois dans Node.js
Node.js fournit des mécanismes efficaces pour traiter les fichiers volumineux, une ligne à la fois. temps. Cette fonctionnalité est essentielle pour les opérations gourmandes en mémoire ou lorsque vous traitez des fichiers qui dépassent la mémoire du serveur.
Pour lire un fichier ligne par ligne dans Node.js, vous pouvez utiliser les approches suivantes :
Utilisation du module principal readline (Node.js v0.12)
Node.js propose un module principal readline pour itération transparente de la ligne de fichier. Considérez le code suivant :
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();
Utilisation du package 'readline'
Pour les versions Node.js antérieures à la v0.12, le package 'readline' fournit un solution alternative :
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'); });
Dans les deux approches, la dernière ligne est lue correctement même sans nouvelle ligne finale caractère.
Considérations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!