Node.js でファイルを 1 行ずつ読み取る
Node.js は、大きなファイルを一度に 1 行ずつ処理するための効率的なメカニズムを提供します。時間。この機能は、メモリを大量に使用する操作や、サーバー メモリを超えるファイルを処理する場合に不可欠です。
Node.js でファイルを 1 行ずつ読み取るには、次の方法を利用できます。
readline コア モジュール (Node.js v0.12) の使用
Node.js は、ファイル行をシームレスに反復するための 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 }); // 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();
「readline」パッケージの使用
v0.12 より前の Node.js バージョンの場合、「readline」パッケージは代替解決策:
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 サイトの他の関連記事を参照してください。