Создать пустой файл в Node.js?
В настоящее время я использую
fs.openSync(filepath, 'a')
Но это немного сложно. Есть ли стандартный способ создания пустого файла в Node.js?
Ответы
Ответ 1
Если вы хотите, чтобы файл был пустым, вместо этого вы хотите использовать флаг 'w'
:
var fd = fs.openSync(filepath, 'w');
Это будет обрезать файл, если он существует, и создать его, если это не так.
Оберните его в вызов fs.closeSync
, если вам не нужен дескриптор файла, который он возвращает.
fs.closeSync(fs.openSync(filepath, 'w'));
Ответ 2
https://github.com/isaacs/node-touch выполнит задание и, как и инструмент UNIX, который он эмулирует, не перезапишет существующий файл.
Ответ 3
Если вы хотите, чтобы он был таким же, как и при подключении к UNIX, я использовал бы то, что у вас есть fs.openSync(filepath, 'a')
, иначе "w" перезапишет файл, если он уже существует, и "wx" завершит сбой, если он уже существует. Но вы хотите обновить файл mtime, поэтому используйте 'a' и ничего не добавляйте.
Ответ 4
Здесь асинхронный путь, используя "wx"
, поэтому он не работает в существующих файлах.
var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
// handle error
fs.close(fd, function (err) {
// handle error
});
});