Aprire il file in modalità di accodamento utilizzando il a+
bandiera
var fd = fs.openSync('file', 'a+');
Oppure utilizzare un posizionale write
. Per essere in grado di aggiungere alla fine del file, utilizzare fs.appendFile
:
fs.appendFile(fd, buf, err => {
//
});
Scrivici l'inizio di un file:
fs.write(fd, buf, 0, buf.length, 0);
EDIT:
Credo che ci non è un chiamata a metodo singolo per quello Ma puoi copiare il contenuto del file, scrivere nuovi dati e aggiungere i dati copiati.
var data = fs.readFileSync(file); //read existing contents into 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);
Si prega di notare che è necessario utilizzare le versioni asincrone di questi metodi, se queste operazioni non vengono eseguite solo una volta durante l'inizializzazione, come faranno bloccano il ciclo degli eventi.
fonte
2013-07-11 07:02:08
c.P.u1 grazie per la risposta, ma quello che voglio è inserire all'inizio del file non aggiunto alla fine del file –
fs.write (fd, buf, 0, buf.length, 0); sovrascriverà il testo originale all'interno del file anche con 'a +' –
@DevPiplay, mi dispiace, ho frainteso la tua domanda. Si prega di controllare la risposta aggiornata. –