DePhoegon icon

Control File Watch

DePhoegon | PRO | 03/09/20 09:46:42 PM UTC | 0 ⭐ | 586 👁️ | Never ⏰ | []
JavaScript |

1.99 KB

|

None

|

0 👍

/

0 👎

const fs = require('fs')
const readline = require('readline')
var fp = 'e:/Test/watch/control.txt'
var fml = 'e:/Test/watch/control2.txt'
var file = fs.readFileSync(fp)
var cnt = 0
 
// console.log('Initial File content: \n' + file)
// 0o111 is read only flag for windows || 0o222 Write flag 
// Used to lock  a given file to prevent alterations in the middle of processing the  file.
function rwlock(file, rw) {
    if (rw === 'r') { rw = 0o111 }
    if (rw === 'w') { rw = 0o222 }
    fs.chmod (file, rw, (err) => {
        if (err) throw err
        // code for successful change.
    })
}
// appeand file puts the data at the end of file, \n is the 'end of line' character.
function filerb(file, line) {
    fs.appendFile(file, line + '\n', (err) => {
        if (err) throw err
    })
}
// inputfile = file || linne = The line to be modified in the duplicate file.
// reads file & creates a duplicate file, with a modified line using the count of the lines as a control method
// Can execute code on reading the file, keywords & careful planning of control files.
function ProcessFile(inputfile, linne) {
        ins = fs.createReadStream(inputfile)
        outs = new (require('stream'))()
        rl = readline.createInterface(ins, outs)
        cnt = 0
 
    rl.on('line', (line) => {
        cnt = cnt+1
        if (cnt === linne || cnt === linne+2) {
            console.log(line + ' - ' + cnt)
            line = line + ' - Modified - Line count > ' + cnt 
//            filerb(fml, line)
        } else {
//            filerb(fml, line)
        }
    })
 
    rl.on('close', (line)=> {
        console.log('done reading file.')
    })
}
 
fs.watchFile(fp, { persistent: true, interval: 100 }, ()=> {
    console.log('File changed .. ')
    file = fs.readFileSync(fp)
    console.log('File content at : ' + new Date())
    // Space for checking for file changes on a watched file. executes when file 'changes' including saves/syncs
 //   ProcessFile(fp, 2)
})
 
// WIP *DePhoegon

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎