filesystems - node.js how to insert string to beginning of file but not replace the original text? -


the code below inserted somestring file replace text inside file. how can fix this?

fd = fs.opensync('file', 'r+') buf = new buffer('somestring') fs.writesync(fd, buf, 0, buf.length, 0) fs.close(fd) 

open file in append mode using a+ flag

var fd = fs.opensync('file', 'a+'); 

or use positional write. able append end of file, use fs.appendfile:

fs.appendfile(fd, buf, err => {   // }); 

write beginning of file:

fs.write(fd, buf, 0, buf.length, 0); 

edit:

i guess there isn't single method call that. can copy contents of file, write new data, , append copied data.

var data = fs.readfilesync(file); //read existing contents data var fd = fs.opensync(file, 'w+'); var buffer = new buffer('new text');  fs.writesync(fd, buffer, 0, buffer.length, 0); //write new data fs.writesync(fd, data, 0, data.length, buffer.length); //append old data // or fs.appendfile(fd, data); fs.close(fd); 

please note must use asynchronous versions of these methods if these operations aren't performed once during initialization, they'll block event loop.


Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -