Maison > interface Web > js tutoriel > Comment lire efficacement des fichiers ligne par ligne dans Node.js ?

Comment lire efficacement des fichiers ligne par ligne dans Node.js ?

DDD
Libérer: 2024-12-07 04:43:11
original
706 Les gens l'ont consulté

How to Efficiently Read Files Line by Line in Node.js?

Lecture de fichiers ligne par ligne dans Node.js

Introduction

La lecture de fichiers volumineux, une ligne à la fois, peut être cruciale dans divers scénarios, notamment lorsque la consommation de mémoire est un problème. Node.js propose plusieurs approches pour y parvenir efficacement.

Module Node.js Readline

À partir de Node.js v0.12, le module principal readline fournit une solution stable à cet effet. Voici comment vous pouvez l'utiliser :

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

Ce code crée un flux de lecture à partir du fichier spécifié, puis utilise l'interface readline pour parcourir le fichier, en imprimant chaque ligne sur la console.

Alternative à l'aide d'un module externe

Si vous utilisez une ancienne version de Node.js, vous pouvez envisager d'utiliser un module tiers comme un lecteur de ligne. Voici un exemple :

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

Ce code utilise le module line-reader pour créer une interface de lecteur de ligne, qui est ensuite utilisée pour écouter l'événement 'line'. Chaque fois qu'une ligne est lue dans le fichier, le gestionnaire d'événements est déclenché, imprimant la ligne sur la console.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal