Удалите строку после того, как я прочитал ее с построчным node.js - PullRequest
0 голосов
/ 29 мая 2019

Я пишу это приложение, где мне нужно прочитать файл .txt и записать его в другой файл .txt с некоторыми изменениями, но я также должен удалить строку, которую я уже прочитал, немедленно, и это проблема.

Моя идея заключалась в написании пустой длинной строки в каждой строке, но она добавляется в конец файла.

const LineByLineReader = require('line-by-line'),
    lr = new LineByLineReader('file.txt');

const writeStream = fs.createWriteStream('random.txt')
const clearLiner = fs.createWriteStream('file.txt', {
  flags: 'a',
  encoding: null,
  mode: 0666
})
const pattern = 'isa'
let reverse = false;
lr.on('line', function(line){
    lr.pause();
    clearLiner.write(`                          \n`);  // It starts at the bottom of the file

    if(reverse){
        line = line.split('')
        line = line.reverse()
        line = line.join('')
        reverse = false;
    }

    setTimeout(function () {
        if (line.includes(pattern)) {
                reverse = true;
            line.endsWith(pattern) ? reverse = false : null ;
        }
        writeStream.write(`${line} \n`)
        lr.resume()
    }, 1000)
})
...