📅  最后修改于: 2023-12-03 15:03:16.115000             🧑  作者: Mango
在Node.js中,可以通过fs
模块读取文件并将其内容存储在一个数组中。这个过程十分简单,并且提供了一种灵活的方式处理文件。
const fs = require('fs');
try {
const data = fs.readFileSync('file.txt', 'utf8').split('\n'); // split() 将字符串转化为数组
console.log(data);
} catch (err) {
console.error(err);
}
这里,我们使用了fs
模块的readFileSync
方法来读取文件内容,并通过split()
方法将其转化为一个数组。注意,我们需要以utf8
格式指定文件读取格式。
const fs = require('fs');
fs.readFile('file.txt', 'utf8', function (err, data) {
if (err) throw err;
const array = data.split('\n');
console.log(array);
});
这里,我们使用了fs
模块的readFile
方法异步地读取文件内容,同时为了确保读取成功,我们需要检查err
参数是否为空。读取成功后,我们同样可以使用split()
方法将读取到的内容转化为一个数组。
const fs = require('fs');
const readline = require('readline');
const array = [];
const reader = readline.createInterface({
input: fs.createReadStream('file.txt'),
console: false
});
reader.on('line', function (line) {
array.push(line);
});
reader.on('close', function () {
console.log(array);
});
这里,我们使用了fs
模块的createReadStream
方法来创建一个流式读取文件的对象,并使用readline
模块的createInterface
方法返回一个用于读取流的可读接口。在可读接口中,我们监听line
事件和close
事件。当读取到每一行数据时,会触发line
事件,并将每行数据存入数组中。当全部数据读取完成后,会触发close
事件,并打印数组长度和数组内容。
以上三种方法都可以将文件内容以数组的形式读取出来,处理文件内容时更加便利。