想要实现逐行读取文件内容,首先需要使用node.js提供的fs模块中的createReadStream方法来创建可读流。
在创建可读流时可以指定一个encoding参数来指定读取的文件编码格式,如下所示:
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream('./file.txt', { encoding: 'utf8' }),
crlfDelay: Infinity
});
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
});
在以上代码中,我们使用createInterface方法创建一个readline的实例rl,并将fs.createReadStream方法返回的可读流作为创建参数传入。
在监听rl的line事件时,每读取一行数据就会触发该事件,同时会将读取的数据line作为回调函数的参数传入。
在以上示例中,我们将读取的每一行数据打印到控制台上。
还可以使用async/await的方式对逐行读取文件内容进行处理:
const fs = require('fs');
const readline = require('readline');
async function processLineByLine() {
const fileStream = fs.createReadStream('./file.txt', { encoding: 'utf8' });
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
for await (const line of rl) {
console.log(`Line from file: ${line}`);
}
}
processLineByLine();
在以上代码中,我们使用async/await的方式将逐行读取的过程放入一个名为processLineByLine的异步函数中,并使用for await...of循环将读取的每一行数据line进行处理。
以上便是使用node.js实现逐行读取文件内容的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js实现逐行读取文件内容的代码 - Python技术站