📜  文件逐行阅读器Node js (1)

📅  最后修改于: 2023-12-03 15:10:23.717000             🧑  作者: Mango

文件逐行阅读器 Node.js

在 Node.js 中,我们可以很方便地使用内置的 fs 模块来处理文件。但是,对于大文件,一次性读入内存可能会导致性能问题。因此,我们可以使用文件逐行阅读器来逐行读取和处理大文件。

实现方式
1. 使用 readline 模块

Node.js 提供了内置的 readline 模块,可以用来逐行读取文件。下面是一个简单的示例:

const readline = require('readline');
const fs = require('fs');

const rl = readline.createInterface({
  input: fs.createReadStream('sample.txt')
});

rl.on('line', (line) => {
  console.log(`Line from file: ${line}`);
});

上面的代码会逐行读取名为 sample.txt 的文本文件,并在控制台输出每一行的内容。

2. 使用 stream 模块

另一种逐行读取文件的方法是使用 Node.js 的 stream 模块。下面是一个示例:

const fs = require('fs');

const readableStream = fs.createReadStream('sample.txt', {encoding: 'utf8'});
const data = [];

readableStream.on('data', chunk => {
  const lines = chunk.split('\n');
  while (lines.length) {
    data.push(lines.shift());
  }
});

readableStream.on('end', () => {
  console.log(data);
});

上面的代码会逐行读取名为 sample.txt 的文本文件,并将每一行存储在一个数组中。

总结

文件逐行阅读器是一个非常实用的功能,可以帮助我们高效地处理大文件。在 Node.js 中,我们可以使用内置的 readline 模块或者 stream 模块来实现文件逐行读取。