逐行读取并与对象进行比较

时间:2017-08-17 07:57:56

标签: node.js fs

我想逐行读取文件并与传递给我的函数的对象中的值进行比较。不幸的是,我得到的信息是对象未定义,但是当我检查它时,它显示了正确的数据。这是代码

 module.exports = function savefile(pathname, changesvalue){
   var counter = 0;
   var i = 0;
   var message = [];
   var test = changesvalue[i].seekrange; //here I have correct information

   var lineReader = require('readline').createInterface({
    input: require('fs').createReadStream(pathname)
   });
   lineReader.on('line', function (line) {
     if(counter == parseInt(changesvalue[i].seekrange)){   //here it showed that value is undefind
       var textadd = changesvalue[i].seektext.match(/([a-zA-Z-/]+)/g);
       message.push(' ' + textadd[0] + ' ' + changesvalue[i].seekvalue + textadd[1]);
       i++;
      }
      else{
       console.log(line);
      }
   counter++;
   });
   lineReader.on('end', function () {
     fs.writeFile('file_to_save_to', message, function(err) {
         if (err) {
             return console.log(err);
         }
     });
   }
 };

我现在不知道为什么我会被定义?如何以有效的方式处理这个文件来读取文件,更改一些行并写入文件? 谢谢你的帮助

0 个答案:

没有答案