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
Libérer: 2024-12-06 22:11:13
original
531 Les gens l'ont consulté

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();
Copier après la connexion

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');
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal