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 - Unusual behaviour when drawing lots of images onto a large canvas -

how can i manage url using .htaccess in php? -

javascript - Chart.js - setting tooltip z-index -