我现在用的是
fs.openSync(filepath, 'a')
但这有点棘手。是否有一种“标准”方法可以在 Node.js 中创建空文件?
如果您想强制文件为空,那么您需要使用
'w'
标志:
var fd = fs.openSync(filepath, 'w');
如果文件存在,则将截断该文件;如果不存在,则创建该文件。
如果不需要它返回的文件描述符,请将其包装在
fs.closeSync
调用中。
fs.closeSync(fs.openSync(filepath, 'w'));
这是异步方式,使用
"wx"
,因此它在现有文件上失败。
var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
// handle error
fs.close(fd, function (err) {
// handle error
});
});
如果你希望它像 UNIX touch 一样,我会使用你拥有的
fs.openSync(filepath, 'a')
否则,如果文件已存在,“w”将覆盖该文件,如果文件已存在,“wx”将失败。但您想要更新文件的 mtime,因此请使用“a”并且不附加任何内容。
您还可以使用带有空字符串的
writeFileSync
API。
fs.writeFileSync(filepath,'');
这将覆盖该文件(如果存在)。