87 votes

Créer un fichier vide dans Node.js ?

Pour l'instant, j'utilise

fs.openSync(filepath, 'a')

Mais c'est un peu délicat. Existe-t-il un moyen "standard" de créer un fichier vide dans Node.js ?

162voto

JohnnyHK Points 61191

Si vous voulez forcer le fichier à être vide, vous devez utiliser la fonction 'w' à la place :

var fd = fs.openSync(filepath, 'w');

Cela va tronquer le fichier s'il existe et le créer s'il n'existe pas.

Enveloppez-le dans un fs.closeSync si vous n'avez pas besoin du descripteur de fichier qu'il renvoie.

fs.closeSync(fs.openSync(filepath, 'w'));

11voto

silverwind Points 1145

Voici la manière asynchrone, en utilisant "wx" donc ça échoue sur les fichiers existants.

var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
    // handle error
    fs.close(fd, function (err) {
        // handle error
    });
});

10voto

Nick Sotiros Points 93

Si vous voulez que ce soit comme la touche UNIX, j'utiliserai ce que vous avez. fs.openSync(filepath, 'a') sinon le 'w' écrasera le fichier s'il existe déjà et le 'wx' échouera s'il existe déjà. Mais vous voulez mettre à jour le mtime du fichier, alors utilisez 'a' et n'ajoutez rien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X