在 Node.js 中创建一个空文件?

问题描述 投票:0回答:4

我现在用的是

fs.openSync(filepath, 'a')

但这有点棘手。是否有一种“标准”方法可以在 Node.js 中创建空文件?

node.js filesystems
4个回答
175
投票

如果您想强制文件为空,那么您需要使用

'w'
标志:

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

如果文件存在,则将截断该文件;如果不存在,则创建该文件。

如果不需要它返回的文件描述符,请将其包装在

fs.closeSync
调用中。

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

11
投票

这是异步方式,使用

"wx"
,因此它在现有文件上失败。

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

11
投票

如果你希望它像 UNIX touch 一样,我会使用你拥有的

fs.openSync(filepath, 'a')
否则,如果文件已存在,“w”将覆盖该文件,如果文件已存在,“wx”将失败。但您想要更新文件的 mtime,因此请使用“a”并且不附加任何内容。


0
投票

您还可以使用带有空字符串的

writeFileSync
API。

fs.writeFileSync(filepath,'');

这将覆盖该文件(如果存在)。

© www.soinside.com 2019 - 2024. All rights reserved.