在Node.js中,将文件读取流传递给readline.createInterface时,readline模块会创建一个逐行读取文件的接口。这个接口可以方便地处理大型文件,避免一次性将整个文件加载到内存中。
具体步骤如下:
fs
和readline
:const fs = require('fs');
const readline = require('readline');
const fileStream = fs.createReadStream('path/to/file.txt');
这里的path/to/file.txt
是待读取的文件路径。
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
input
参数指定了要读取的文件流,crlfDelay
参数用于处理不同操作系统下的换行符。
rl
对象的on
方法监听line
事件,每当读取到一行数据时触发回调函数:rl.on('line', (line) => {
console.log(line);
});
在这个回调函数中,可以对每一行数据进行处理,例如输出到控制台或进行其他操作。
rl
对象的on
方法监听close
事件,表示文件读取完成:rl.on('close', () => {
console.log('文件读取完成');
});
这样,当文件读取完成时,会触发close
事件并执行相应的回调函数。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云端存储服务,适用于存储和处理任意类型的文件,包括文本、图片、音视频等。它提供了简单易用的API接口,可以方便地与Node.js应用集成。
产品介绍链接地址:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云