83

今のところ私は使用します

fs.openSync(filepath, 'a')

しかし、それは少しトリッキーです。Node.jsで空のファイルを作成する「標準的な」方法はありますか?

4

3 に答える 3

158

ファイルを強制的に空にしたい場合は、'w'代わりにフラグを使用します。

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

ファイルが存在する場合はファイルを切り捨て、存在しない場合は作成します。

fs.closeSync返されるファイル記述子が必要ない場合は、呼び出しでラップします。

fs.closeSync(fs.openSync(filepath, 'w'));
于 2012-10-09T22:38:27.203 に答える
11

これは非同期の方法です。これを使用"wx"すると、既存のファイルでは失敗します。

var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
    // handle error
    fs.close(fd, function (err) {
        // handle error
    });
});
于 2014-12-26T17:40:23.070 に答える
10

UNIX のタッチのようにしたい場合は、あなたが持っているものを使用します。fs.openSync(filepath, 'a')そうしないと、ファイルが既に存在する場合は「w」がファイルを上書きし、「wx」が既に存在する場合は失敗します。しかし、ファイルの mtime を更新したいので、'a' を使用して何も追加しません。

于 2015-12-14T03:06:10.297 に答える