📅  最后修改于: 2023-12-03 14:51:45.740000             🧑  作者: Mango
在 Node.js 中,我们可以使用内置的 fs
模块读取文件。如果我们想要将文件的每一行作为一个数组返回,该怎么做呢?本文将向您展示如何实现这一目标。
我们可以使用 fs.readFile
方法从文件中读取数据,然后使用 split
方法将其分割成一个行数组。下面是代码示例:
const fs = require('fs');
fs.readFile('path/to/file', 'utf8', (err, data) => {
if (err) throw err;
const arrayOfLines = data.split('\n');
console.log(arrayOfLines);
});
在上面的代码中,我们首先导入 fs
模块,然后使用 readFile
方法读取文件的内容。接着,我们使用回调函数处理读取到的数据,在回调函数中使用 split
方法将其分割成一个行数组。
如果文件比较大,我们可能无法一次将其全部读入内存中。这时,我们可以使用 createReadStream
方法和 readline
模块,逐行读取文件数据。下面是代码示例:
const fs = require('fs');
const readline = require('readline');
const lineReader = readline.createInterface({
input: fs.createReadStream('path/to/file')
});
const arrayOfLines = [];
lineReader.on('line', line => {
arrayOfLines.push(line);
});
lineReader.on('close', () => {
console.log(arrayOfLines);
});
在上面的代码中,我们首先导入 fs
模块和 readline
模块。然后,我们使用 createInterface
方法创建一个逐行读取的对象。我们将读取的行放到一个数组中,并在读取结束后输出该数组。
本文向您介绍了如何从文件中读取行数组的两种方法。第一种方法使用 readFile
和 split
方法,第二种方法使用 createReadStream
和 readline
模块。您可以根据自己的场景选择其中一种方法。