是否在Node.js中创建空文件?

是否在Node.js中创建空文件?,node.js,filesystems,Node.js,Filesystems,现在我用 fs.openSync(filepath, 'a') 但这有点棘手。在Node.js中是否有创建空文件的“标准”方法?如果要强制文件为空,则需要使用'w'标志: var fd = fs.openSync(filepath, 'w'); 这将截断文件(如果存在),并创建文件(如果不存在) 如果不需要它返回的文件描述符,请将其包装在fs.closeSync调用中 fs.closeSync(fs.openSync(filepath, 'w')); 这里是异步方式,使用“wx”使其在现有

现在我用

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”并不附加任何内容。

为什么希望它失败?@NickSotiros为了不覆盖文件,某些用例可能需要.fs.writeFileSync('empty.txt','');fs.appendFileSync('do_not_override.txt','';您可以在这里查看更多选项,而不是
w
flag除了循环
mkdir
,还有其他方法可以同时创建多个目录吗??谢谢