NodeJS 如何根据特定条件逐行操作文件

5m1hhzi4  于 2022-11-29  发布在  Node.js
关注(0)|答案(2)|浏览(76)

我需要逐行读取文件,并在阅读时向同一文件中写入换行符,如果每行都满足一定的条件。最好的方法是什么?

2uluyalo

2uluyalo1#

function (file, callback) {
    fs.readFile(file, (err, 'utf8', data) => {
        if (err) return callback(err);

        var lines = data.split('\n');

        fs.open(file, 'w', (err, fd) => {
            if (err) return callback(err)

            lines.forEach(line => {
                if (line === 'meet your condition') {
                    // do your write using fs.write(fd, )
                }
            })
            callback();
        })
    })
}
ut6juiuv

ut6juiuv2#

使用节点文件系统模块与文件系统的帮助你可以执行操作异步以及同步.下面是作为一个例子异步

function readWriteData(savPath, srcPath) {
    fs.readFile(srcPath, 'utf8', function (err, data) {
            if (err) throw err;
            //Do your processing, MD5, send a satellite to the moon or can add conditions , etc.
            fs.writeFile (savPath, data, function(err) {
                if (err) throw err;
                console.log('complete');
            });
        });
}

同步示例

function readFileContent(srcPath, callback) { 
    fs.readFile(srcPath, 'utf8', function (err, data) {
        if (err) throw err;
        callback(data);
        }
    );
}

function writeFileContent(savPath, srcPath) { 
    readFileContent(srcPath, function(data) {
        fs.writeFile (savPath, data, function(err) {
            if (err) throw err;
            console.log('complete');
        });
    });
}

相关问题