ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js でファイルを 1 行ずつ効率的に読み取るにはどうすればよいですか?

Node.js でファイルを 1 行ずつ効率的に読み取るにはどうすればよいですか?

DDD
リリース: 2024-12-07 04:43:11
オリジナル
705 人が閲覧しました

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

Node.js でファイルを 1 行ずつ読み取る

はじめに

大きなファイルを一度に 1 行ずつ読み取ることは、さまざまなシナリオ、特にメモリ消費が懸念される場合。 Node.js は、これを効率的に実現するためのいくつかのアプローチを提供します。

Node.js Readline モジュール

Node.js v0.12 以降、readline コア モジュールは、この目的のための安定したソリューションを提供します。使用方法は次のとおりです。

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();
ログイン後にコピー

このコードは、指定されたファイルから読み取りストリームを作成し、readline インターフェイスを使用してファイルを反復処理し、各行をコンソールに出力します。

外部モジュールを使用する代替案

古いバージョンの Node.js を使用している場合は、次のようなサードパーティ モジュールの使用を検討できます。ラインリーダー。以下に例を示します。

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');
});
ログイン後にコピー

このコードは、ライン リーダー モジュールを使用してライン リーダー インターフェイスを作成し、これを使用して「ライン」イベントをリッスンします。ファイルから行が読み取られるたびに、イベント ハンドラーがトリガーされ、その行がコンソールに出力されます。

以上がNode.js でファイルを 1 行ずつ効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート