21xrx.com
2024-09-20 05:31:57 Friday
登录
文章检索 我的文章 写文章
如何在 nodejs 中读取最后几行数据?
2023-07-05 06:42:11 深夜i     --     --
nodejs 读取 最后几行数据

当我们在处理大型文本文件时,有时需要读取最后几行数据。在 nodejs 中,我们可以使用以下方法来实现。

使用readline模块:

1. 导入readline模块


const readline = require('readline');

2. 创建readline.Interface实例


const rl = readline.createInterface({

 input: fs.createReadStream('file.txt'),

 output: process.stdout

});

3. 使用on方法监听line事件


let lines = [];

rl.on('line', (line) => {

 lines.push(line);

 if (lines.length > 10) {

  lines.shift();

 }

});

我们可以创建一个数组来存储文件的每一行,每次读取一行时都把它添加到数组中,并检查数组的长度是否超过10。如果超过了,就删除数组的第一个元素,以保证数组长度始终为10。

4. 使用on方法监听close事件


rl.on('close', () => {

 console.log(lines);

});

当文件读取完毕时,就会触发close事件,同时输出最后10行数据。

完整代码如下:


const readline = require('readline');

const fs = require('fs');

const rl = readline.createInterface({

 input: fs.createReadStream('file.txt'),

 output: process.stdout

});

let lines = [];

rl.on('line', (line) => {

 lines.push(line);

 if (lines.length > 10) {

  lines.shift();

 }

});

rl.on('close', () => {

 console.log(lines);

});

总结:

以上就是在nodejs中读取文件最后几行数据的方法。我们可以使用readline模块来逐行读取文件,同时使用数组来存储最后10行数据。这种方法可以应用于处理大型文件,它相对简单且效率高。

  
  
下一篇: C++求质因数

评论区

{{item['qq_nickname']}}
()
回复
回复