大きなファイルを一度に 1 行ずつ読み取ることは、さまざまなシナリオ、特にメモリ消費が懸念される場合。 Node.js は、これを効率的に実現するためのいくつかのアプローチを提供します。
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 サイトの他の関連記事を参照してください。