Maison >interface Web >js tutoriel >Comment puis-je lire un fichier ligne par ligne dans Node.js ?

Comment puis-je lire un fichier ligne par ligne dans Node.js ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 22:11:13517parcourir

How Can I Read a File Line by Line in 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

  • Assurez-vous que le chemin du fichier fourni dans 'createReadStream()' est exact.
  • Gérez les erreurs de manière appropriée en utilisant blocs try-catch ou écouteurs d'événements.
  • L'événement 'close' du module readline est émis lorsque la fin du fichier est atteinte ou une erreur se produit.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn