我想逐行读取文件并与传递给我的函数的对象中的值进行比较。不幸的是,我得到的信息是对象未定义,但是当我检查它时,它显示了正确的数据。这是代码
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);
}
});
}
};
我现在不知道为什么我会被定义?如何以有效的方式处理这个文件来读取文件,更改一些行并写入文件? 谢谢你的帮助