📅  最后修改于: 2023-12-03 14:57:10.684000             🧑  作者: Mango
在Javascript中,读取文件的操作是一个常见需求。其中,对于大型文件,我们可能需要一次读取一行,而不是把整个文件读入内存。本文介绍如何使用Node.js在Javascript中读取文件行。
我们可以使用Node.js内置的fs模块打开文件,具体函数是fs.createReadStream。如下所示:
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream('example.txt')
});
此处将文件example.txt传递给fs.createReadStream,这将返回一个可读流。为了逐行读取文件,我们使用readline模块创建输入输出接口。我们将rl变量设置为readline.createInterface的返回值,该方法的第一个参数接收一个可读流。
我们可以使用readline模块中的on方法来逐行读取文件内容。如下所示:
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
});
上面的代码将打印文件中的每一行。
完成读取文件之后,需要关闭输入输出接口。我们可以通过rl.close()完成。如下所示:
rl.on('close', () => {
console.log('File has been read');
// 关闭文件
rl.close();
});
完整代码片段:
const fs = require('fs');
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream('example.txt')
});
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
});
rl.on('close', () => {
console.log('File has been read');
rl.close();
});
这样就可以顺序逐行读取文件了。
以上是在JavaScript中使用Node.js逐行读取文件的一个简单教程。总结来说,我们使用fs模块创建可读流,使用readline模块逐行读取文件,并完成后关闭输入输出接口。