2

私はnodejsスクリプトを構築しています。スクリプト フローは次のとおりです。

  1. r+ フラグでファイルを開きます。
  2. 次に、開いているファイルの内容を (fs.read で) json として読み取ります。
  3. ユーザー コールバックを実行して、ユーザーが json を操作できるようにします (ファイルはまだ開いています)。
  4. 新しいオブジェクトをファイルに書き込みます。
  5. ファイルを閉じる

私の問題は、ファイルを閉じずにファイルの新しいサイズを決定する方法がわからないことです。

たとえば、最初に次のコードを実行するとします。

ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) {
   json.test = 'ABC';
   json.foo = 'bar';
});

そして、将来のある時点で:

ffs.lockAndManipulateJSON(__dirname + '/var/meta.json', function (json) {
   delete json.foo;
});

ファイルの内容は次のようになります。

{
    "test": "ABC"
}    "foo": "bar"
}

しかし、私はそれが欲しい:

{
    "test": "ABC"
}

だから、私の質問は:ファイルがまだ開いている間にnodejsで新しいファイルサイズを設定する方法は?

4

1 に答える 1

1

fs.ftruncate は、探していることを行う必要があります。編集: *これを機能させるには、ファイル「w+」を開く必要があることに注意してください。

于 2013-04-24T11:55:35.453 に答える