Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Add Comment
Please, Sign In to add comment