Im Moment benutze ich
fs.openSync(filepath, 'a')
Aber es ist ein bisschen schwierig. Gibt es eine Standardmethode zum Erstellen einer leeren Datei in Node.js?
Im Moment benutze ich
fs.openSync(filepath, 'a')
Aber es ist ein bisschen schwierig. Gibt es eine Standardmethode zum Erstellen einer leeren Datei in Node.js?
Antworten:
Wenn Sie erzwingen möchten, dass die Datei leer ist, möchten Sie 'w'
stattdessen das Flag verwenden:
var fd = fs.openSync(filepath, 'w');
Dadurch wird die Datei abgeschnitten, falls vorhanden, und erstellt, wenn dies nicht der Fall ist.
Schließen Sie es in einen fs.closeSync
Aufruf ein , wenn Sie den zurückgegebenen Dateideskriptor nicht benötigen.
fs.closeSync(fs.openSync(filepath, 'w'));
w
Flag nodejs.org/api/fs.html#fs_file_system_flags
mkdir
? danke
https://github.com/isaacs/node-touch erledigt die Aufgabe und überschreibt wie das emulierte UNIX-Tool keine vorhandene Datei.
node-touch
es fs.closeSync(fs.openSync(filepath, 'a'));
neben der Aktualisierung des Zeitstempels für vorhandene Dateien noch weitere Vorteile ?
Hier ist die asynchrone Methode, mit der "wx"
vorhandene Dateien fehlschlagen.
var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
// handle error
fs.close(fd, function (err) {
// handle error
});
});
Wenn Sie möchten, dass es genau wie das UNIX-Touch ist, würde ich das verwenden, was Sie haben. fs.openSync(filepath, 'a')
Andernfalls überschreibt das 'w' die Datei, wenn es bereits vorhanden ist, und 'wx' schlägt fehl, wenn es bereits vorhanden ist. Sie möchten jedoch die mtime der Datei aktualisieren. Verwenden Sie daher 'a' und hängen Sie nichts an.