Nodejs:以字符串形式读取大文件,并使用掩码在其中寻找某些字符串

问题描述 投票:0回答:1

我希望能够将大文件(大于1GB)作为字符串读入node.js(我并不真正在乎效率),完成后,我希望能够使用面具,例如FILE_XXX_XXXX_XXXXXXXX,X是任何字符,并将结果存储在数组中。目前,我的方法是使用fs.readFileSync(srcPath,'utf8');但是这导致错误错误:无法创建长度超过0x3fffffe7个字符的字符串我环顾四周,意识到“管道”,但是不确定如何实现(或者它是否甚至适合我想做的事情)

node.js fs
1个回答
0
投票

您正在寻找的是fs.createReadStream

const fs = require('fs');
const readStream = fs.createReadStream('myfile.txt');

readStream
  .on('data', function(chunk) {
    // check if chunk.toString() contains what you're looking for here
  })
  .on('end', function () {
    console.log('done');
  });

您可以使用正则表达式来匹配您的掩码,请参见https://regexr.com/

© www.soinside.com 2019 - 2024. All rights reserved.