文件流问题,逐行读取。尽管文件已存在,但仍抛出了ENONET

时间:2018-11-05 21:11:44

标签: node.js

我在逐行读取文本文件的功能上遇到问题。它说我要读取的文件不存在,尽管它在我正在运行节点的文件路径中存在。可能是什么问题?

function insertUsers(auth) {
fs.readFile('emails.txt', function (err, data) {
    if (err) throw err;
    var person = data.toString().split("\n");

var person = data.toString().split("\n");
for (var i = 0; i < person.length(); i++) {
    service.members.insert({
        groupKey: 'testgroup@x.com',
        resource: {
            email: person[i],
            role: 'MEMBER',
        }

    }, (err, res) => {
        if (err) { return console.error('The API returned an error:', err.message); }

        const user = res.data.member;

        if (member.length) {
            write_log('Inserted' + email + ' into student group.');
        } else {
            write_log('Failed to delete ' + email);
        }
    });
    }
});

} https://i.stack.imgur.com/5UTK6.pnghttps://i.stack.imgur.com/iVvnA.png

2 个答案:

答案 0 :(得分:0)

验证您正在从文件(emails.txt)所在的相同位置启动节点应用程序。根据您的方法逻辑,应该是

C:\Users\[]\source\repos\StudentGroups\StudentGroups > node main.js

您可以从代码中检查当前工作目录

console.log(process.cwd())

应该是

C:\Users\[]\source\repos\StudentGroups\StudentGroups

否则,请修改您的代码以正确指向email.txt或从正确的目录启动应用程序。

答案 1 :(得分:0)

此问题是由于我如何制作emails.txt。名称为“ emails.txt”,文件扩展名为.txt。我将文件名更改为“电子邮件”,并且可以正常工作。